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も停止する