CentOS7へVNC-Serverを構築するコマンドヒストリー
題名通り、ただのメモ書きです。
本当に初期状態から実行したコマンド、つまづいた場合もそれを記載する
※全てrootにて操作
1. SSHの初期設定だけ設定(useradd, PermitRootLogin等)
2. VNC周りのパッケージをyumでinstall
yum install tigervnc-server
yum groupinstall "X Window System" "Desktop"
yum groupinstall "GNOME Desktop"
3. 設定ファイルコピー
cd /lib/systemd/system/
cp vncserver@.service /usr/lib/systemd/system/vncserver@:1.service
cd /usr/lib/systemd/system/
# check list
ls -l
4. 設定
vi vncserver@:1.service
# <USER>をユーザ名に変更(僕の場合はyamagami)
ExecStart=/usr/bin/vncserver_wrapper <USER> %i
↓
ExecStart=/usr/bin/vncserver_wrapper yamagami %i
# 設定をシステムに反映
systemctl daemon-reload
5. 個人ユーザの設定
root権限からyamagami権限へ移動
# exit
$
以降はユーザ権限での操作
vncpasswd
Password:
Verify:
Would you like to enter a view-only password (y/n)? n
A view-only password is not used
# 操作したいから、view onlyはno
6. xstartupファイルの作成
cd ~/.vnc/
vi xstartup
# 下記を記載して保存
--- ここから ---
#!/bin/sh
gnome-session &
--- ここまで ---
# 権限付与
chmod +x xstartup
7. firewall系設定
systemctl start firewalld.service
systemctl is-active firewalld.service
systemctl enable firewalld.service
systemctl is-enabled firewalld.service
firewall-cmd --zone=public --add-port=5901/tcp --permanent
firewall-cmd --reload
firewall-cmd --zone=public --add-service=vnc-server --permanent
firewall-cmd --reload
8. VNCの起動
systemctl start vncserver@:1.service
systemctl is-active vncserver@:1.service
systemctl enable vncserver@:1.service
9. VNC Viewerから接続確認
https://www.realvnc.com/en/connect/download/viewer/macos/
これを利用した
---
接続時にタイムアウトした
ステータスを確認
$ vncserver :1
A VNC server is already running as :1
動いている模様
一旦プロセスをkillする
$ vncserver -kill :1
Killing Xvnc process ID 19080
root権限でvncserver:1を起動していたため、ユーザ権限で起動する
$ vncserver :1
New 'xxxxxxxxxxxxxx.vs.sakura.ne.jp:1 (yamagami)' desktop is xxxxxxxxxxx.vs.sakura.ne.jp:1
Starting applications specified in /home/yamagami/.vnc/xstartup
Log file is /home/yamagami/.vnc/xxxxxxxxxxx.vs.sakura.ne.jp:1.log
$ vncserver -list
TigerVNC server sessions:
X DISPLAY # PROCESS ID
:1 20811
が、状況変わらず。
ポートが開いているかを確認
# firewall-cmd --list-all
ports: 5901/tcp
開いている模様、IPもifconfigで確認するが一致
macのfinderからも同様に接続するが、
“xxxxxxxxxxxxxx:5901”と通信できません。リモートコンピュータが利用可能になっていて、ファイアウォールによって画面共有がブロックされていないことを確認してください。
というメッセージ
firewallを一度ストップして試してみる。
systemctl stop firewalld.service
systemctl status firewalld.service
状況変わらず。vncserverを再起動しても状況は変わらなかった。
ログを確認する
journalctl -xe
dbus[539]: [system] Failed to activate service 'org.bluez': timed out
pulseaudio[23367]: [pulseaudio] bluez5-util.c: GetManagedObjects() failed: org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible causes incl
どうもデーモンが邪魔してるっぽい。
SELinuxや不要デーモンの停止をしてなかったため実行
と思って調べていると、
org.bluez
というのは結構大事なやつっぽいので、いったんこれはスルー
SELinuxも
# getenforce
Disabled
無効化されていた。困った。
rebootしてもダメ。
試しにapacheをインストールしアクセスすると接続できない。
firewallは無効化した状態なのになぜ...
と思っていたところで、VPSのコントロールパネルを確認すると
「パケットフィルタ」
という項目が。
まさかと思い、こいつを無効化してからアクセスすると、httpアクセスができた。
firewallの設定をこっちでも設定できるようで、それのせいで競合していた疑いが。
よってVNCも無事に接続。
さくらさん、面倒なことしないでおくれ。
この記事が気に入ったらサポートをしてみませんか?