tigervnc-server install
Linuxについての記事です。
VNC?
CentOSをファイルサーバとして使う事にして色んな設定を行うのにコマンド操作では何かと不便な事もあるのでデスクトップ環境を遠隔で操作できるようにしたいと思います。
GUI(Graphical User Interface)での操作ができるようになれば離れた場所からでもCentOSのデスクトップを操作する事ができます。
参考ページ
イメージ
これはMacのデスクトップにLinuxのデスクトップ画面を操作しているところです。
このように遠隔操作で操作を行うためにはCentOS側に遠隔操作ができるようにするためのサービスの導入が必要です。
その役割を果たしてくれるがVNC(Vertual Network Computing)と呼ばれるサービスです。
CentOSにVNC接続ができるようにします。
最初からGNOMEのVinoというVNCserverソフトがインストールされていましたが、それを使用せずにtigervncをインストールして使います。
目標
最終的にMacに標準で搭載されているVNCクライアント、画面共有(Screen Sharing).appを使ってCentOSに接続する事が目標です。
tigervnc-severのパッケージが用意されているのでパッケージからインストール
$ su パスワード: # yum install tigervnc-server
VNCの設定ファイルを編集する。ここではディスプレイ番号や接続できる機器の制限、解像度などの設定が可能です。
場所 /etc/sysconfig/vncservers
# gedit /etc/sysconfig/vncservers # VNCSERVERS="2:myusername" # VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp -localhost" ↓ VNCSERVERS="1:myusername" VNCSERVERARGS[1]="-geometry 1024x768"
先頭に記述されている#でコメントアウトされていますので#を削除。
- VNCSERVERS=”2:myusername”
- ログインする事ができるユーザを設定します。番号はディスプレイ番号です。
- -geometry 800×600
- 画面解像度の設定。あまり大きなサイズにすると転送するデータの量が多くなり環境により、操作が遅くなる可能性があります。
- -nolisten tcp
- TCPプロトコルを使用したVNCサーバへの接続を禁止
- -localhost
- セキュアトンネルを利用していない接続禁止。localhost以外からの接続を禁止
サービスとポート番号を関連づけする。
VNCを使用したプロトコルがどこのポートを使うのかを関連づけます。
VNCは5900番台を使います。ここでは接続するのは一人に限定するので5901のポートを使っていきます。他のユーザーも接続できるようにする場合は5902のポートでその都度ポートを設定していきます。
場所 /etc/services
# gedit /etc/services tigervnc 5901/tcp # tigervnc-server tigervnc 5901/udp # tigervnc-server
ファイアーウォールの設定
ポート5901を開放します。
# gedit /etc/sysconfig/iptables # Firewall configuration written by system-config-firewall # Manual customization of this file is not recommended. *filter -A INPUT -m state --state NEW -m tcp -p tcp --dport 5901 -j ACCEPT -A INPUT -m state --state NEW -m udp -p udp --dport 5901 -j ACCEPT
ファイアーウォールの設定はGUIからでもできます。
システムー管理ーファイアーウォールをクリック
その他のポートをクリックして開けたいポート番号を指定します。
右側の追加ボタンをクリック
ユーザー定義にチェックをつけます。
ポート番号は5901
プロトコルはtcp
もう一つ追加していきます。
ポート番号は5901
プロトコルはudp
設定ができるとこのようにポート番号とサービス名が表示されます。
設定が終わったら適用ボタンをクリックします。
VNC接続する時のパスワードを設定します。
パスワードの設定は必要です。ないと接続がうまくいきません。
パスワードを設定したらVNCサーバの起動をします。
初めて起動するとxauthと関連付けをしてくれます。
xauth: (stdin):1: bad display name “centos:1″ in “add” commandはホスト名がしっかりと設定されていないときに表示されるのでホスト名の設定も後に行う事にします。
# su - myusername $ vncpasswd Password: Verify: $ vncserver xauth: creating new authority file /home/myusername/.Xauthority xauth: (stdin):1: bad display name "centos:1" in "add" command New 'centos:1 (myusername)' desktop is centos:1 Creating default startup script /home/myusername/.vnc/xstartup Starting applications specified in /home/myusername/.vnc/xstartup Log file is /home/myusername/.vnc/centos:1.log $ exit logout
VNCサーバの停止
$ vncserver -kill :1 Killing Xvnc process ID 3464
VNCで接続したときに、GNOMEで起動するように設定
~/.vnc/xstartupの設定はユーザーアカウントが複数の場合はその数分の設定が必要です。
$ gedit ~/.vnc/xstartup xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" & twm & ↓ # xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" & gnome-session &
$ gedit ~/.vnc/xstartup export LANG="ja_JP.UTF-8" export GTK_IM_MODULE=SCIM export QT_IM_MODULE=SCIM export XMODIFIERS="@im=SCIM"
設定の完了後はVNCデーモンを起動させます。
# service vncserver start
コンピュータの起動時にtigervnc-serverを起動するように設定
# chkconfig vncserver on
MacのVNCクライアントからCentOSに接続
ここまででVNCサーバの設定ができました。
Macから画面共有.appを使って接続できるかを確認します。Macの画面共有.appは標準でインストールされているVNCクライアントです。
場所はMacintosh HD/システム/ライブラリ/CoreServices/にあります。英語ではscreensaharing.appです。
サーバアドレスに”vnc://サーバのIPアドレス:ディスプレイ番号”を入力
ここでの環境だとvnc://192.168.11.2:5901
5901はディスプレイ番号です。
/etc/servicesで設定したtigervnc-serverのサービスが動くように指定したポートです。
接続に成功するとCentOSのユーザのログイン画面が表示されます。
ユーザのパスワードを入力してログインします。
デスクトップが表示されました。
マウスの操作もできるようになっています。
CentOSにAvahi daemonがインストール済みであればMacのFinderに共有アイコンとしてCentOSが表示されます。
このような状態だったらサーバへ接続の時のアドレスでIPアドレスではなくホスト名で接続する事ができます。
”vnc://ホスト名:ディスプレイ番号”
この場合だと”vnc://centos.local:5901”で接続になります。
以上で設定完了です。
中島 能和 飛田 伸一郎
高町 健一郎 大津 真 佐藤 竜一 小林 峰子 安田 幸弘
SoftwareDesign編集部 編