Fedora24、Fedora25に対応(2016年12月29日木曜日)
VNCとは?
サーバーといえば、CUIというかコマンドを前提だと想像される方が多いようですが、 GUIなリモート操作もできちゃいます。そのうちの一つが、VNCサーバーです。
前提条件
前提条件として、ユーザー名をkenkenとし、ディスプレイナンバーを1とします。ディスプレイナンバーは任意ですが、一人で使っている場合は1でいいでしょう。
インストール
VNCに関するアプリをインストールしましょう。Fedoraでは、tigervncというものをつかいます。
su -c "yum install tigervnc tigervnc-server"
/etc/の設定
Fedora 15?14?より前のVNCの設定だと、 /etc/sysconfig/vncserversを設定していたので、このファイルを開いてみると、
# THIS FILE HAS BEEN REPLACED BY /lib/systemd/system/vncserver@.service /lib/systemd/system/vncserver@.service Quick HowTo: # 1. Copy this file to /etc/systemd/system/vncserver@.service
# 2. Replace <USER> with the actual user name and edit vncserver
# parameters appropriately
# ("User=<USER>" and "/home/<USER>/.vnc/%H%i.pid")
# 3. Run `systemctl daemon-reload`
# 4. Run `systemctl enable vncserver@:<display>.service`
とある。
なので、
sudo cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@\:1.service
とsystemd用のファイルをコピー。1のところは、ディスプレイナンバーで任意に数字を決められる。前提の所で言及したけど一人で使うなら1でOK。
この/etc/systemd/system/vncserver@:1.serviceファイルのUSERを自分のユーザー名に変更する。私のユーザー名kenkenを例に取ると、37、38行目を
User=<USER>
を
User=kenken
とし、
PIDFile=/home//.vnc/%H%i.pid
を
PIDFile=/home/kenken/.vnc/%H%i.pid
とすればOK。
VNCのパスワードの設定
VNCに接続するパスワードを設定します。VNCを使いたいユーザー権限でログインして、
vncpasswd (パスワード入力:何も表示されない。)
とVNC用のパスワードを入力。セキュリティーを考慮するためには出来ればユーザーのパスワードとは異なるパスワードを設定しておくことをオススメします。
サービスの起動
前のvncserver@:1.serviceファイルの設定が済んだら、
sudo systemctl start vncserver@:1.service sudo systemctl enable vncserver@:1.service
とする。上からVNCサービス起動、Linux起動時のサービス自動起動設定をしている。エラーメッセージが出る場合は【解決済み】Job for vncserver@:1.service failed because a timeout was exceeded.から解決。
firewalldの設定
firewalldコマンドで
sudo firewall-cmd --addservice vnc-server --permanent sudo firewall-cmd --reload
としてVNCサーバーのポートを開きます。
確認
とりあえず、VNCサーバーのサーバーを立てているマシンで、
vncviewer localhost:1
として、パスワードを入力してGNOMEが表示されたらOK。
確認が終わったら終了させておく。
接続
今度はクライアントから接続します。[アプリケーション]→[インターネット]→[Tiger VNC Viewer]を開き、サーバーのIPアドレス:ディスプレイナンバー(1)を入力(例192.168.1.11:1)、パスワード入力。これで、VNCが利用できるはず。 サーバーのIPアドレスは、 サーバー上で
ifconfig p5p1 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx inet addr:192.168.1.11 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::225:22ff:fea0:9f67/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1492 Metric:1 RX packets:447494 errors:0 dropped:0 overruns:0 frame:0 TX packets:549463 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:132690793 (126.5 MiB) TX bytes:464729710 (443.2 MiB) Interrupt:41 Base address:0xa000
のinet addrの後のものを入力。
クライアントがWindowsでもVNCビューアーをインストールすれば動くと思う。試してないけど。
ここで、一個注意して欲しいのは、GNOMEデスクトップが表示されるけどLinuxではデスクトップそのものを表示するのではなく、もうひとつGNOMEデスクトップが作られて表示されるという事。なので、多重起動が禁止されているアプリケーション、特にfirefoxがロックされちゃいます。なので、サーバー側でfirefoxを使っていたら、きちんと終了させておきましょう。また、VNCのクライアント側でも使い終わったら終了させておくこと。
どうしても、どこで起動してるか分からなくなったら、
killall firefox
としてfirefoxを終了させます。このコマンドは正常終了なので、通常のfirefoxを終了させることと同じ動作ですが、状況によっては強制終了の扱いになってしまうことがあるので、要注意。
うまく表示されない場合
ここまでの操作でVNCサーバーがきちんと動いていると思いますが、上手く接続できない場合は以下を確認しましょう。
- 互いにネットワークがつながっているか。pingでチェック
- VNCサーバーサービスが起動してるか。
- iptablesでポートを開いているか。一度、iptablesを止めてみてVNCで見れるか確認してみてみるのもあり。
- IPアドレスがあっているか。
- パスワードがユーザーのパスワードでなく、VNC用のパスワードか。
鯖立てしたくて買いました。
Ubuntuな人は、
知識ゼロから始めるLinuxサーバーの作り方 (日経BPパソコンベストムック)
クチコミを見る
Fedoraな人は古いけど、
誰でもLinuxサーバーを超簡単に作れる本(DVD-ROM付) (日経BPパソコンベストムック)
クチコミを見る
Linux 始めたいなら(動作保証をするものではありません。)
コメント
コメント一覧 (2)
なんですが
sudo cp /lib/systemd/system/vncserver@.service /lib/systemd/system/vncserver@\:1.service
じゃないと動かないと思われます。
くいっくはうつーの内容が間違っているらしく
/etc/systemd/system/配下ではなく
/lib/systemd/system/配下にコピーしないとダメなようです。
私の環境はFedora18ですが下記のサービス起動時にこけました。
systemctl start vncserver@:1.services
はて?
うちでは、Fedora18でも/etc以下で動いていますよ。
/lib/systemd/system/vncserver@.serviceファイルにも
/etc/systemd/system以下にコピーしろと書いていますし。
私はアップグレード組みだからかなー。
(P.S. くいっくはうつーってなんのことですか?
quick how toか。
ひらがなで書かれるとなんのことか分からんようになりますな^^;