• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VNCServerをSolarisにインストール)

SolarisにVNCServerをインストールする方法

このQ&Aのポイント
  • Solaris9 V100 (UltraSPARC-IIe)にVNCServerをインストールする方法を教えてください。
  • VNCのサイトからダウンロードしたファイルとサンのコンパニオンCDからインストールする方法についても調査しましたが、どちらがベストなのか分かりません。
  • 現在はネットワークに接続されていない状態で、モニターやキーボードもないため、PCからコンソールケーブルのみで接続しています。どうしたら進められるでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • neutron
  • ベストアンサー率100% (2/2)
回答No.3

>Ethernet ケーブルで転送できなかったのはSolaris側からRefuse 自信はありませんが、/etc/hosts.denyや/etc/hosts.allowでアクセス制限があるかもしれません。 何はともあれ、CDからコピーできたとのこと。そして、vncinstallまで実行できたとのこと。 私も、/etc/inet/servicesと/etc/inet/inetd.confはviで編集しました。というより、エディタはviしかわかりません。emacesは知りません。 また、viのカーソルも教科書どおり動きました。(solaris10で確認済み) カーソルが教科書どうりに動いてくれないのはおかしいですね・・・。 編集前に念のため、servicesとinetd.confをコピーしておくべきでしょう。例えばservices0やinetd.conf0などに。 また、vi使用中におかしなことが起こればetc→:q!コマンドで保存せずにviを強制終了できます。 # vi /usr/local/bin/vncserverで、vncserverファイルを修正。 変更前:#!/usr/local/bin/perl 変更後:#!/usr/bin/perl 次に、servicesの編集。これは例です。  vnc-1024x768x8 5952/tcp を追加。5950とは、solarisの未使用ポート番号。おそらく5950は使われてないので、vncで利用します。 次に、inetd.confの編集。これも例です。  vnc-1024x768x8 stream tcp nowait nobody (Xvncまでのフルパス) Xvnc -inetd -query localhost -once -geometry 1024x768 -depth 8 -cc 3 solaris10での(Xvncまでのフルパス)は/opt/sfw/bin/Xvncでした。solaris9では不明です。ごめんなさい。 # shutdown -i6 -g10 -yで、solarisを再起動。 以上でsolaris側での設定は終わりだと思います。思いますというのは、私はsolaris10をつかっているので、solaris9ではどうなのかは定かではありません。 あとは、windowsクライアントにvnc viewerを入れればよいでしょう。

momochangeni
質問者

補足

詳しいご説明ありがとうございます。 早速試してみます。windowsPCにvnc viewerはインストールすみですのであとはSolaris側を完了させるよう頑張ります。

その他の回答 (9)

  • neutron
  • ベストアンサー率100% (2/2)
回答No.10

momochangeniさんがsolarisで使っているディスプレイマネージャーを特定し、その設定ファイル(.conf)を見つけなければならないと思います。 私はGNOMEというディスプレイマネージャーを使っているので、その設定ファイルgdm.confをいじった次第です。

momochangeni
質問者

お礼

pkginfo コマンドで調べたところGNOME2 というのが出てきました。 しかし私のサーバにある/usr/openwin/lib/X11/xdm/xdm-config とどういう関係がるのかわかりません。 ともかく、/.vnc/xstartup と /usr/local/bin/vncserver に書き足しをしてgnome-session がスタートするようになりました。 まだ完成してませんが、いろいろ本当にありがとうございました。 別の質問を立てさせて頂きますので、もしアドバイスありましたら宜しくお願いします。

momochangeni
質問者

補足

Neutronさま、 何度もなんども、沢山のアドバイスありがとうございました。 ただ一人Neutronさまだけ見捨てずにいろいろとアドバイスしてくれたおかげで、だいぶ前に進むことができました。Solarisの理解も当初に比べればだいぶまし(まだまだお話になりませんが)になりました。またWinSCP3というソフトも教えていただき大変役に立っています。 まだ、目的は達成できていませんので、私ももっと調べていろいろやってみます。 とりあえずディスプレイマネージャーというのが良く分からないので、もうちょっと調べてみます。 もし他にもアドバイスがありませしたらその時は是非宜しくお願いいたします。

  • neutron
  • ベストアンサー率100% (2/2)
回答No.9

すみません、変更すべきファイルがまだ他にありました。ただし、あくまでもsolaris10の場合ですので。 (事前に、/etc/X11/gdm/gdm.confのバックアップをとってください) /etc/X11/gdm/gdm.confを編集。私が使っているディスプレイマネージャはgdmでした。使っているディスプレイマネージャによってはxdmやkdmかもしれません。確かめください。 gdm.confの[xdmcp] セクションの Enable=false を Enable=true に書き換えます。 あと、私の場合、同じ[xdmcp] セクションの以下の設定を有効にしています(行頭の#を削除)。こちらは必須ではないかもしれません。 HonorIndirect=true MaxPending=4 MaxPendingIndirect=4 MaxSessions=16 MaxWait=15 MaxWaitIndirect=15 DisplaysPerHost=2 PingIntervalSeconds=15 Port=177 gdm.confの保存後、 # /sbin/telinit 3 # /sbin/telinit 5 を実行。あと、再起動をしておいたほうが良いかもしれません。 これでもうまくいかない場合、同じ/etc/X11/gdm/gdm.confの[daemon]セクションのKillInitClients=trueをKillInitClients=falseにしてみてください。 あと、私はXsetupにchmod o+w /tmp/.X11-unixは書き加えずにVNCを起動できました。 ちなみに、rootのパスの設定は、/etc/default/suファイルのSUPATHに記述することで、solarisを再起動しても設定は有効になると思います。 ただし、ここはwindowsクライアントからVNCの起動には関係ない気がしますが。

momochangeni
質問者

補足

Neutron さま、 ありがとうございます。 早速ファイルを探してみました。 以下の通り私の持っているファイルはxdmのようなのですが、 /etcの中には入ってないみたいです。/usr/openwin/bin/xdm をvi で開けてみようとしましたが、化けた文字がごちゃごちゃ出てくるだけでした。 # find / -name kdm (結果なし) # find / -name gdm (結果なし) # find / -name xdm /usr/openwin/bin/xdm /usr/openwin/lib/X11/xdm /usr/openwin/lib/xdm # find / -name xdm.conf (結果なし) /X11/xdm と付くのは下記のものくらいしか見つかりませんでした。そして X11/xdm/Xservers を試しに開けてみましたがアドバイス頂いたような記述はありませんでした。 # ls /usr/openwin/lib/X11/xdm chooser Reset Xaccess Xsession GiveConsole Startup xdm-config Xsetup_0 libXdmGreet.so StartX Xresources libXdmGreet.so.1.0 TakeConsole Xservers ネットでも調べてみましたが、/etc/X11/gdm/gdm.conf に相当するファイルがどれなのか分かりません。 どうかよろしくお願いします。

  • neutron
  • ベストアンサー率100% (2/2)
回答No.8

# cp /usr/dt/config/Xservers /etc/dt/config /etc/dt/config/Xserversの最終行を、先頭に#をつけてコメントアウトします。(試してもVNCが起動しない場合、元に戻してください)  # :0 Local local_uid@console・・・・・・ # cp /usr/dt/config/Xsetup /etc/dt/config/ # vi /etc/dt/config/Xsetup ファイルの末尾に、 chmod o+w /tmp/.X11-unix を追記してみてください。 また、今一度/etc/inet/inetd.confや/etc/inet/servicesなどを見直してください。例えばinetd.confで、 vnc-1024x768x8 stream tcp nowait nobody /usr/local/bin/Xvnc Xvnc -inetd -query localhost -once -geometry 1024x768 -depth 8 -cc 3 などと正しく書かれているかなどです。なお、私の場合、 vnc-1024x768x8 stream tcp nowait nobody /opt/sfw/bin/Xvnc Xvnc -inetd -query localhost -once -geometry 1024x768 -depth 8 -cc 3 でした。 経験をもとにアドバイスをしてきましたが、solaris10しか扱っていないので、solaris9とは違うのかもしれません。 従いまして、googleなどで、solaris9 vncと検索するなりして調べてみるのも一つの手でしょう。

momochangeni
質問者

お礼

更にいろいろと調べてみました。 /tmp/.X11-unix というファイルが存在しない見たいなのですが、これがパスワードの問題の原因でしょうか? # find / -name *X11-unix  と実行して見ましたがなにも出てきません。 もしそうだとすれば /tmp/.X11-unix はどうすればいいのでしょうか? どうぞよろしくお願いします。

momochangeni
質問者

補足

ありがとうございます。 最初のアドバイス 『/etc/dt/config/Xserversの最終行を、先頭に#をつけてコメントアウト』 を実行してVNC接続を試しました。 嬉しい事に今度はログインウインドウが出てきてパスワードを聞いてきます。 そして ps -ef | grep vnc で見たところ VNCが起動しているみたいでした。 しかし、Username がグレーになっていて記入できません。 Password に root のパスワードや他のユーザーのバスワードを入れてみましたが、No pasword configured for VNC Auth というメッセージが出てきて何度やってもだめでした。 そして、chmod o+w /tmp/.X11-unix  をファイルに追記して試して見ましたが結果は同じでした。 ネットでサーチして調べて見ると、『 # /usr/local/bin/vncserver でサーバ側からVNCを起動すると初回のみパスワードを聞いてくる 』 と出てましたが、私の場合はPATHを変えないと、vncserver: couldn't find "xauth" on your PATH. というエラーが出てパスワードは聞いてきません。 どうかよろしくお願いします。

  • neutron
  • ベストアンサー率100% (2/2)
回答No.7

返事遅れてすみません。 以下をお試しください。うまくいかなかったら申し訳ございません。 # ps -ef | grep inet で、inetdのプロセス番号を探す。 # kill -HUP (inetdのプロセス番号) そして、windowsクライアントからVNCViewerを起動。 ちなみに、私が今までアドバイスしたことは、クライアントからの接続要求があったときにsolarisのVNCサーバーが起動する仕組みです。 従いまして、通常はsolarisにはVNCサーバーは起動していないと思います。

momochangeni
質問者

補足

アドバイスありがとうございます。 早速neutronさんのアドバイスどおり実行してみましたが、だめでした。 以下の通りです。 # ps -ef | grep inet root 180 1 0 23:28:54 ? 0:00 /usr/sbin/inetd -s root 431 354 0 23:50:38 console 0:00 grep inet # kill -HUP 180 そしてWindowsからVNCで接続を実行、しかしThe connection closed unexpectedly でした。   そして、調べてみつけた下記のコマンドを実行してみました。(ただ、これがどういう意味なのか今ひとつつかめません) #PATH=/bin:/usr/sbin:/usr/bin:/usr/dt/bin:/usr/local/bin:/usr/local/sbin:/usr/ccs/bin:/usr/ucb:/opt/sfw/bin:/usr/openwin/bin そして # echo $PATH でみるとPATH以下のものがでてきます。 そして usr/local/bin/vncserver を実行すると Starting applications specified in //.vnc/xstartup Log file is //.vnc/netlab1:1.log というのが出てきて、クライアントから xx.xx.xx.xx:1 でのみVNCできました。 しかし xx.xx.xx.xx:50 ではだめでした。しかも、root でしか接続できませんでした。 また、リブートすると # echo $PATH で表示されるものが  /usr/sbin:/usr/bin だけになってしまい、VNCの接続が出来なくなってしまいます。 これだと、neutronと同じ、クライアントからの接続要求があったときにsolarisのVNCサーバーが起動する仕組みが出来てないのでこまります。 また、root 以外のユーザで接続できるようにしないといけないのですが、この2件どこが問題なのでしょうか? Neutron さんのアドバイスのおかげでここまでこれたのですが、どうかもう少し助けていただけないでしょうか。 よろしくお願いします。

  • neutron
  • ベストアンサー率100% (2/2)
回答No.6

お手数ですが、以下を試してください。 # mkdir -p /usr/local/vnc/classes # cp (vncの解凍後ディレクトリ)/java/* /usr/local/vnc/classes(javaの部分はclassesの場合あり。確かめてください。) # shutdown -i6 -g10 -yで、システムを再起動。 windowsにて、VNCViewerを起動し、xx.xx.xx.xx:50を入力。 ここで、xx.xx.xx.xxはsolarisのIPアドレス。50とは、5950の下二桁。

momochangeni
質問者

補足

早速アドバイスどおり実行してみました。 # mkdir -p /usr/local/vnc/classes # ls -ls /usr/local/vnc/classes total 0 # cp /var/tmp/vnc-4_1_2-sparc_solaris/java/* /usr/local/vnc/classes # ls -ls /usr/local/vnc/classes total 234 2 -rw-r--r-- 1 root other 217 Jan 11 07:10 index.vnc 8 -rwxr-xr-x 1 root other 3584 Jan 11 07:10 logo150x150.gif 224 -rw-r--r-- 1 root other 104689 Jan 11 07:10 vncviewer.jar 再起動してVNCを試しましたが、やはりThe connection closed unexpectedly というエラーで接続できません。 # ./vncserver も実行してみましたが、今度は前回と違う結果です。 # ./vncserver ./vncserver: not found VNCServerが動いてないということなんでしょうか? 何度も申し訳ありませんがよろしくお願いします。

  • neutron
  • ベストアンサー率100% (2/2)
回答No.5

>/etc/inet/services と /etc/services はどう違うのでしょうか? /etc/servicesは/etc/inet/servicesのリンクになっています。windowsでいうショートカットです(厳密には違いますが)。 # ls -l /etc/servicesコマンドで出てくるlrwxrwxrwxのlはlinkです。 私は実体の方の/etc/inet/servicesを編集しました。なお、 # ls -l /etc/inet/servicesの実行結果はどうなったでしょうか?もしかすると、 -r--r--r--となったでしょうか?となると、/etc/inet/servicesは読み出し専用モードになっています。 chmodコマンドでモードを変更します。 # chmod u+w /etc/inet/services # ls -l /etc/inet/services -rw-r--r-- これで、オーナー(root)は/etc/inet/servicesの書き換えが可能になります。つまり、viで、:wqが有効になります。

momochangeni
質問者

補足

再度ありがとうございます。 「windowsでいうショートカット」の説明のおかげでイメージがつかめよく分かりました。 やはり、# ls -l /etc/inet/services を実行したところ-r--r--r -- でしたので、chmodコマンドで無事に変更し、そしてファイルの編集をすることができました。 そしてPCからSolarisに接続してPCのvnc viewerからSolarisにアクセスしようとしましたが、The connection closed unexpectedly というエラーが出てつながりません。 実際VNCServerが起動しているかどうか、自身がありません。ただ、ファイルの変更をする前にVNCを試した時は、"unable to connect to host: Connection refused(10061)" という違うエラーだったので何か変更は出来た様です。 ネットで調べて以下のコマンドを実行したところこの様になりました。 # mconnect -p 5950 localhost connecting to host localhost (127.0.0.1), port 5950 connection open # mconnect -p 5952 localhost connecting to host localhost (127.0.0.1), port 5952 connection open # ./vncserver vncserver: couldn't find "xauth" on your PATH. # lsof -i :vnc-xga というのも実行してみましたが、not found でした。 また、以下のコマンドを実行すると、 # cd /usr/local/bin/ # ls -ls total 13772 1792 -r-xr-xr-x 1 502 staff 903308 May 12 2006 vncconfig 368 -r-xr-xr-x 1 502 staff 176500 May 12 2006 vncpasswd 28 -r-xr-xr-x 1 502 staff 13938 Feb 23 2005 vncserver 2672 -r-xr-xr-x 1 502 staff 1357944 May 12 2006 vncviewer 2560 -r-xr-xr-x 1 502 staff 1301940 May 12 2006 x0vncserver 6352 -r-xr-xr-x 1 502 staff 3239840 May 12 2006 Xvnc となります。 rcp やscpがつながらなかったのと同じ理由かまたは関係あるのでしょうか?  Root以外のユーザーならTelnet接続も可能な状態です。 どうすればVNCServerが稼動しているか、どこを直せばいいのか調べられるのでしょうか? どうかアドバイスよろしくお願いします。

  • neutron
  • ベストアンサー率100% (2/2)
回答No.4

【No.3の訂正】 ×vnc-1024x768x8 5952/tcp ○vnc-1024x768x8 5950/tcp

momochangeni
質問者

補足

補足ありがとうございます。 vi のコマンドが思ったとおりに動かなかったのは、自分がどのモードにいるか良く把握してなかったから見たいです。でも相変わらず画面がぐちゃぐちゃでファイルのどこにいるかは相変わらず無視界飛行のような状態です。 ところで /etc/inet/services などのファイルをやっとの事で編集して:w や:wq とやっても"File is Read Only" と出てきてしまい保存できません。 chattr -i というのを実行しなければ行けないと分かり chattr - i /etc/inet/services  というコマンドを実行したのですが、今度はchattr: not found と出てきてしまいます。 ログインは root で、ls -l を実行すると以下のようになります。 # ls -l /etc/services lrwxrwxrwx 1 root root 15 Dec 12 15:03 /etc/services -> ./inet/services   また、 /etc/inet/services と /etc/services はどう違うのでしょうか? 編集するのは前者の方でよいのでしょうか? cat コマンドで見ると同じ内容のようですが?   よろしくお願いします。

  • neutron
  • ベストアンサー率100% (2/2)
回答No.2

私はwindowsにvnc-4_1_2-sparc_solaris.tar.gzを落とした後、 WinSCP3というフリーソフトを用いてsolarisへ転送しました。ffftpというフリーソフトでもいけると思います。 >ダウンロードした後にファイル名にgzが無くなっている tarコマンドでいきなり解凍できるのではないでしょうか? tar.gzならば、gunzipコマンドでtarファイルに解凍後、tarコマンドで再び解凍という流れでした。 CDを使う場合、solarisマシンにCDを入れた後、solarisにて、(ちなみに、solarisではマウント不要) % cd /cdrom/cdrom0 で、CDドライブのルートディレクトリに移動できると思います。

momochangeni
質問者

補足

ご回答ありがとうございます。 ファイルをSolarisに転送するためにいろいろ試しました。Ethernet ケーブルでSolarisとつないでPingも通る状態にしてから、rcp, scp,またはftpなどもやってみましたがだめでした。今度WinSCP3も試して見たいと思います。 結局、またCDを何度も焼きまくって試したのですが、最終的にCDでファイルを持っていくことができました。何故他のCDがだめだったのかよく分かりませんが、最後には教えていただいた、% cd /cdrom/cdrom0 でCDのファイルを確認できました。 Ethernet ケーブルで転送できなかったのはSolaris側からRefuseされているからだと想像するのですが、どうすればそれを確かめて、直すことが出来るのでしょうか? 解凍に関しては、gunzipで無事にtarになったのですが、今度は、tar –xvf vnc-4_1_2-sparc_solaris.tar を実行したのですがエラーが出てだめでした。 いろいろ試して v のオプションをなくして実行したところうまくいきました。 調べてみると皆さんtar –xvf のコマンドで実行されているみたいなのですが、同じSolarisでなぜ私の場合はうまくいかないのか分かりません。これは私のSolarisに問題があるのでしょうか? インストールの時は、分からないので全部入れたつもりだったのですが。。。 ともかく、# ./vncinstall /usr/local/bin を実行してやっと、前回教えて頂いた、/etc/inet/servicesと/etc/inet/inetd.confを編集するところまで来たのですが、今、必死になってviエディタを最低限使えるように努力しているところなのです。Cat コマンドでどういうファイルか見るだけ見たのですが、vi /etc/inet/services やvi /etc/inet/inetd.conf とやると画面がもともとあったアウトプットとごちゃごちゃになって混ざってしまい、カーソルが教科書どうりに動いてくれず、ファイルをむちゃくちゃにしてしまうのではないかという恐怖で、前に進めません。 サーバを12月中に完成しなければならなかったのにVNCのインストールさえも完了できなくて大変あせっています。 /etc/inet/servicesと/etc/inet/inetd.conf の編集の仕方についてもう少し詳しく教えて頂けないでしょうか? または、せめて編集後のファイルがどうなっているべきなのか全部は無理でも、前後の分も含めて見本を見せて頂けないでしょうか。 どうかよろしくお願いします。

  • neutron
  • ベストアンサー率100% (2/2)
回答No.1

私はvnc-4_1_2-sparc_solaris.tar.gzを用いてsolarisにインストールしました。 解凍後、vnc-4_1_2-sparc_solarisディレクトリ内のvncinstallを実行。 # ./vnc-4_1_2-sparc_solaris/vncinstall /usr/local/bin /usr/local/man これで、solarisへvncがインストールされるはずです。 あとは、/etc/inet/servicesと/etc/inet/inetd.confを編集(vncの設定、使用ポート番号の指定など)した後、solarisを再起動。 あと、vncを使うということは、windowsから遠隔操作するのでしょうか? その場合、windowsクライアントにvnc viewerをインストールしなければなりません。

momochangeni
質問者

補足

早速アドバイスありがとうございます。 初歩的な質問ばかりで申し訳ありません。 vnc-4_1_2-sparc_solaris.tar のファイルをどうやってPCからsolarisに持っていくのがベストな方法なんでしょうか? また、ダウンロードした後にファイル名にgzが無くなっているのは何故なのでしょうか? 現在solarisはコンソールケーブルでPCとつながっているだけです。 solarisにはCD-ROMとEthernetポートがありますが、Ethernetはまだ設定していません。solarisインストール時に仮のIPを入れておきました。 仮にCDから持っていく場合、 CDの正しい焼き方というのがあるのでしょうか?上記4種類全部焼いて試しましたがコマンドが悪いのかCDが悪いのか、または両方ともだめなのか、うまくいきませんでした。 おっしゃるとおり、最終的にはWindowsから遠隔操作のために使います。Windowsは少しは分かるので、まずはsolarisから解決していければと願っています。 よろしくお願いします。

関連するQ&A

専門家に質問してみよう