見出し画像

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/
これを利用した

---

接続時にタイムアウトした

VNC_Viewer_と_VNC_Viewer_と_VNC_Viewer

ステータスを確認

$ 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のコントロールパネルを確認すると

「パケットフィルタ」

という項目が。

NUXIL開発用_-_さくらのVPSコントロールパネル

まさかと思い、こいつを無効化してからアクセスすると、httpアクセスができた。

firewallの設定をこっちでも設定できるようで、それのせいで競合していた疑いが。

よってVNCも無事に接続。
さくらさん、面倒なことしないでおくれ。

この記事が気に入ったらサポートをしてみませんか?