CentOS 7 でVNCServerが起動できない - CentOS

CentOS 7 でVNCServerが起動できない現象への対策を紹介します。

現象

vncserverをインストール、設定後
systemctl start vncserver@:(ディスプレイ番号)
コマンドを実行してもvncserverが起動できません。

Job for vncserver@:(ディスプレイ番号).service failed because the control process exited with error code. See "systemctl status vncserver@:(ディスプレイ番号).service" and "journalctl -xe" for details.
エラーが表示されます。

原因1:ディスプレイ番号が重複している

ディスプレイ番号の1番が予約されている場合があります。
ディスプレイ番号を1以外の番号に変更すると起動できることがあります。

原因2:プロセスが残っている

プロセスが残っているため、vncserverが起動できない場合があります。この場合は下記のコマンドを実行します。
vncserver -kill:(ディスプレイ番号)
rm /tmp/.X11-unix/X(ディスプレイ番号)

例:ディスプライ番号が2の場合

vncserver -kill:2
rm /tmp/.X11-unix/X2

原因3:VNCの接続用パスワードが未設定

VNCの接続用のパスワードが未設定の場合、サービスを起動できません。

statusを確認すると"Password:"で止まっています。


"journalctl -xe"コマンドを実行すると
polkitd : Unregistered Authentication
のメッセージが表示されています。

出力例
● vncserver@:3.service - Remote desktop service (VNC)
   Loaded: loaded (/usr/lib/systemd/system/vncserver@:3.service; disabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since 日 2016-04-17 00:13:23 JST; 4min 49s ago
  Process: 3965 ExecStart=/usr/sbin/runuser -l penta -c /usr/bin/vncserver %i (code=exited, status=1/FAILURE)
  Process: 3961 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill %i > /dev/null 2>&1 || : (code=exited, status=0/SUCCESS)

 4月 17 00:13:22 localhost.localdomain systemd[1]: Starting Remote desktop service (VNC)...
 4月 17 00:13:23 localhost.localdomain systemd[1]: vncserver@:3.service: control process exited, code=exited status=1
 4月 17 00:13:23 localhost.localdomain systemd[1]: Failed to start Remote desktop service (VNC).
 4月 17 00:13:23 localhost.localdomain systemd[1]: Unit vncserver@:3.service entered failed state.
 4月 17 00:13:23 localhost.localdomain systemd[1]: vncserver@:3.service failed.
 4月 17 00:13:23 localhost.localdomain runuser[3965]: Password:
下記のコマンドを実行して接続ユーザーでvncpasswdを設定します。
su (VNCで接続するユーザー)
vncpasswd

例:"penta"ユーザーがVNCに接続する場合

su p@enta
vncpaswd

著者
かつて日本を代表したスーパーエンジニア (自称)
ハードウェア、電気設備、ガーデニング関係の記事を担当。
最終更新日: 2024-01-04
作成日: 2016-04-17
iPentec all rights reserverd.