tigervnc-server install

   2014/05/03

スポンサーリンク

Linuxについての記事です。

VNC?
CentOSをファイルサーバとして使う事にして色んな設定を行うのにコマンド操作では何かと不便な事もあるのでデスクトップ環境を遠隔で操作できるようにしたいと思います。
GUI(Graphical User Interface)での操作ができるようになれば離れた場所からでもCentOSのデスクトップを操作する事ができます。
参考ページ

イメージ
これはMacのデスクトップにLinuxのデスクトップ画面を操作しているところです。
これはMacのデスクトップにLinuxのデスクトップ画面を操作しているところです。

このように遠隔操作で操作を行うためにはCentOS側に遠隔操作ができるようにするためのサービスの導入が必要です。
その役割を果たしてくれるがVNC(Vertual Network Computing)と呼ばれるサービスです。
CentOSにVNC接続ができるようにします。
最初からGNOMEのVinoというVNCserverソフトがインストールされていましたが、それを使用せずにtigervncをインストールして使います。

目標
最終的にMacに標準で搭載されているVNCクライアント、画面共有(Screen Sharing).appを使ってCentOSに接続する事が目標です。
Macから画面共有(Screen Sharing).appで接続する事が目標です。

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以外からの接続を禁止

/etc/sysconfig/vncserversの変更前
/etc/sysconfig/vncserversの変更後

スポンサーリンク

サービスとポート番号を関連づけする。
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 プロトコルはtcp

もう一つ追加していきます。
ポート番号は5901
プロトコルはudp
ポート番号は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接続する時のパスワードを設定します。

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 &

VNCで接続したときに、GNOMEで起動するように設定 設定前
VNCで接続したときに、GNOMEで起動するように設定 設定後
日本語入力ができるように設定

$ 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です。

Macから画面共有.appを使って接続できるかを確認します。

サーバへ接続をクリックします。
サーバへ接続をクリックします。

サーバアドレスに”vnc://サーバのIPアドレス:ディスプレイ番号”を入力
ここでの環境だとvnc://192.168.11.2:5901
5901はディスプレイ番号です。
/etc/servicesで設定したtigervnc-serverのサービスが動くように指定したポートです。
vnc://192.168.11.2:5901を入力して接続をクリック

サーバの接続するパスワードを入力
サーバの接続するパスワードを入力

接続に成功するとCentOSのユーザのログイン画面が表示されます。
ユーザのパスワードを入力してログインします。
接続に成功するとCentOSのユーザのログイン画面が表示されます。

デスクトップが表示されました。
マウスの操作もできるようになっています。
デスクトップが表示されました。

CentOSにAvahi daemonがインストール済みであればMacのFinderに共有アイコンとしてCentOSが表示されます。
このような状態だったらサーバへ接続の時のアドレスでIPアドレスではなくホスト名で接続する事ができます。
CentOSにAvahi daemonがインストール済みであればMacのFinderに共有アイコンとしてCentOSが表示されます

”vnc://ホスト名:ディスプレイ番号”
この場合だと”vnc://centos.local:5901”で接続になります。
”vnc://ホスト名:ディスプレイ番号” この場合だと”vnc://centos.local:5901”で接続になります。

以上で設定完了です。

  • このエントリーをはてなブックマークに追加
  • Pocket
  • follow us in feedly

この記事へのコメントはこちら

メールアドレスは公開されませんのでご安心ください。
また、* が付いている欄は必須項目となりますので、必ずご記入をお願いします。

*

内容に問題なければ、下記の「コメント送信」ボタンを押してください。