Ubuntu22.04 VNCサーバー

Ubuntu22.04 VNCサーバー

クライアントとしてMacから接続なので
RealVNC を使う

最初にVNCで接続確認できたら
SSHトンネルで接続できるようにする

Ubuntu インストール時にGNOMEデスクトップが入っているので
https://ja.linux-console.net/?p=3414#gsc.tab=0
を参考に

VNC用のユーザ作成し
TigerVNC サーバーのインストールをする

とりあえずユーザ名snow作成してパスワード設定

sudo useradd -m -s /bin/bash snow
sudo passwd snow

次に作成したユーザをグループsudo に追加
これでroot権限が使える用になる

sudo usermod -aG sudo snow

次に作成したユーザに切り替え
Sudo su でroot権限になれるか確認

su - snow
sudo su

で root になれてるなら成功

これで一度ユーザを元に戻すdのえ
ctrl+ d を2回行ってログアウトしておく

元々のユーザに戻ったら
TigerVNC サーバーのインストール

sudo apt install tigervnc-standalone-server tigervnc-common tigervnc-tools

次にVNCの初期化
これはvncユーザのアカウントで行うので

su - snow

で切り替える

そしてVNCサーバの初期化

vncserver

パスワードを設定するけど
8文字が最大なので注意

Would you like to enter a view-only password (y/n)? 


VNC サーバーまたはセッションを、表示のみの権限を持つ別のユーザーと共有
なので
N
にする

A view-only password is not used
/usr/bin/xauth:  file /home/snow/.Xauthority does not exist

New Xtigervnc server 'snowpool-Prime-Series:1 (snow)' on port 5901 for display :1.
Use xtigervncviewer -SecurityTypes VncAuth -passwd /home/snow/.vnc/passwd :1 to connect to the VNC server.


=================== tail /home/snow/.vnc/snowpool-Prime-Series:5901.log ===================
Terminated
X connection to :1 broken (explicit kill or server shutdown).

Fri Sep 29 06:21:47 2023
 ComparingUpdateTracker: 0 pixels in / 0 pixels out
 ComparingUpdateTracker: (1:-nan ratio)
Killing Xtigervnc process ID 38401... success!
===========================================================================================

Session startup via '/etc/X11/Xtigervnc-session' cleanly exited too early (< 3 seconds)!

Maybe try something simple first, e.g.,
	tigervncserver -xstartup /usr/bin/xterm
The Xtigervnc server cleanly exited!
The X session cleanly exited!

となる

次にこのVNCを強制終了し
起動スクリプトの構成開始

一度ログアウトしていたので

vncserver -kill snowpool-Prime-Series:1 
vncserver: No matching VNC server running for this user!

現在動いていないみたいなので

vim ~/.vnc/xstartup

で設定ファイルを作成

#!/bin/sh
# Start up the standard system desktop
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
/usr/bin/startxfce4
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
x-window-manager &

として保存

chmod +x ~/.vnc/xstartup

で実行権限付与

次に
VNC ユーザーを TigerVNC サーバー構成ファイルに追加して定義

sudo vim /etc/tigervnc/vncserver.users 


最終行に

:1=snow

を追記して保存

次にVNCサーバ起動

 sudo systemctl start snowpool-Prime-Series:1 service

で実行したが

Failed to start snowpool-Prime-Series:1.service: Unit snowpool-Prime-Series:1.service not found.
Failed to start service.service: Unit service.service not found.

となる

もしかしてx window systemがだめ?

とりあえずログを調べる

cd .vnc/
ls -lah

結果は

drwxr-xr-x 2 snow snow 4.0K  9月 30 05:53 .
drwxr-x--- 5 snow snow 4.0K  9月 30 05:53 ..
-rw------- 1 snow snow    8  9月 29 06:21 passwd
-rw-rw-r-- 1 snow snow 1022  9月 29 06:21 snowpool-Prime-Series:5901.log
-rwxrwxr-x 1 snow snow  243  9月 30 05:38 xstartup

となる

cat snowpool-Prime-Series\:5901.log

で中身を確認

Xvnc TigerVNC 1.12.0 - built 2022-03-25 17:06
Copyright (C) 1999-2021 TigerVNC Team and many others (see README.rst)
See https://www.tigervnc.org for information on TigerVNC.
Underlying X server release 12101003, X.Org


Fri Sep 29 06:21:46 2023
 vncext:      VNC extension running!
 vncext:      Listening for VNC connections on local interface(s), port 5901
 vncext:      created VNC server for screen 0
[mi] mieq: warning: overriding existing handler (nil) with 0x55648c8a9400 for event 2
[mi] mieq: warning: overriding existing handler (nil) with 0x55648c8a9400 for event 3
3NI3X0 New Xtigervnc server 'snowpool-Prime-Series:1 (snow)' on port 5901 for display :1.
3NI3X0 Use xtigervncviewer -SecurityTypes VncAuth -passwd /home/snow/.vnc/passwd :1 to connect to the VNC server.
Terminated
X connection to :1 broken (explicit kill or server shutdown).

Fri Sep 29 06:21:47 2023
 ComparingUpdateTracker: 0 pixels in / 0 pixels out
 ComparingUpdateTracker: (1:-nan ratio)
Killing Xtigervnc process ID 38401... success!

とりあえず
https://www.server-world.info/query?os=Ubuntu_22.04&p=desktop&f=1
を参考に

sudo apt -y install ubuntu-desktop task-gnome-desktop


GNOMEデスクトップ環境をインストール

tigervncserver -xstartup /usr/bin/gnome-session --geometry 800x600 -localhost no :1 

としたけどダメ

とりあえずユーザを通常のユーザに戻して

tigervncserver -xstartup /usr/bin/gnome-session -geometry 800x600 -localhost no :1 

を実行したらできた

https://ebi-works.com/mac-vnc/#outline__4_1
を参考に
Mac の場合
Finder から
移動 > サーバーに接続で
vnc://192.168.1.69:5901
で接続

しかし認証エラーとなってログイン画面は出るけど
ログインができない

本体から操作しようとしたが
画面が真っ黒で操作不能

一度

sudo reboot

で再起動し
本体でログインしてみると
操作ができるけど
今度はVNC接続ができない

とりあえずもう一回SSHでログインして

sudo reboot

で再起動

A X11 server is already running for display :1

で検索し
https://www.bigbang.mydns.jp/vnc-server-x.htm
によれば
VNCで接続した状態(ログアウトしたままの状態)で直接コンソール画面からログインしようとすると、真っ黒な画面のまま表示されません
 これを解消するには、VNC接続している画面でログアウトする必要がある
とのこと

一度再起動してから端末から

 tigervncserver -xstartup /usr/bin/gnome-session -geometry 800x600 -localhost no :1 

とすれば
接続でき
操作もできるようになった

ただし放置してロック画面になると
パスワード入力ができないため
現状では一度再起動して対処

FirefoxはなぜかVNCで起動できなかった
Libreoffice calcなどは問題なく使用可能

とりあえず

 tigervncserver -xstartup /usr/bin/gnome-session -geometry 800x600 -localhost no :1 

で起動し
Finderから
移動 > サーバーへ移動

vnc://192.168.1.69:5901
で接続

パスワードをVNCパスワードを入力すれば
VNCでgnomeデスクトップでログインできる

念の為使わない時にはログアウトしておけば
認証エラーのGUI画面にならずに済むし
自動的にVNCも停止する