LoginSignup
4
6

Ubuntu22.04 で リモートデスクトップ

Last updated at Posted at 2023-05-31

この記事では以下を紹介

環境

  • Ubuntu 22.04 LTS Linux

GUI でリモートデスクトップサーバーを有効化 ( gnome-remote-desktop.service )

Ubuntu22.04 には リモートデスクトップ機能が備わっているが、MS-Windowsのリモートデスクトップのようなものではなく、 VNC 的な利用となる。物理デスクトップ側でローカルログオンしている状態でないといけない。その状態で、物理デスクトップの画面をミラーするもの。

「設定」-「共有」-「リモートデスクトップ」を ON にする。バグのためこのスイッチを一旦 OFF にして ON にし直さないとダメという話もあるが、未検証。

image.png

ここでパスワードがランダム?に決められているが、このままだと以下のようにエラーが出ていて、接続ができない。

$ systemctl --user status gnome-remote-desktop.service
● gnome-remote-desktop.service - GNOME Remote Desktop
     Loaded: loaded (/usr/lib/systemd/user/gnome-remote-desktop.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2023-05-31 19:20:58 JST; 47min ago
   Main PID: 15590 (gnome-remote-de)
      Tasks: 20 (limit: 9229)
     Memory: 24.7M
        CPU: 477ms
     CGroup: /user.slice/user-1000.slice/user@1000.service/app.slice/gnome-remote-desktop.service
             └─15590 /usr/libexec/gnome-remote-desktop-daemon

 5月 31 19:20:58 mayo systemd[699]: Started GNOME Remote Desktop.
 5月 31 19:20:58 mayo gnome-remote-desktop-daemon[15590]: Cannot load libcuda.so.1
 5月 31 19:20:58 mayo gnome-remote-desktop-daemon[15590]: Cannot load libnvidia-encode.so.1
 5月 31 19:20:58 mayo gnome-remote-de[15590]: RDP server started
 5月 31 19:21:58 mayo gnome-remote-de[15590]: Couldn't retrieve RDP username: Credentials not set
 5月 31 19:21:58 mayo gnome-remote-de[15590]: Couldn't retrieve RDP username: Credentials not set
 5月 31 20:04:37 mayo gnome-remote-de[15590]: Couldn't retrieve RDP username: Credentials not set
 5月 31 20:04:37 mayo gnome-remote-de[15590]: Couldn't retrieve RDP username: Credentials not set
 5月 31 20:05:26 mayo gnome-remote-de[15590]: Couldn't retrieve RDP username: Credentials not set
 5月 31 20:05:26 mayo gnome-remote-de[15590]: Couldn't retrieve RDP username: Credentials not set

パスワードを適当に変更すると、以下のような認証画面が出る。

image.png

ここでユーザのパスワードを入れると、"Credentials" がセットされるようで以下のようにエラーがでなくなる。

$ systemctl --user status gnome-remote-desktop.service
● gnome-remote-desktop.service - GNOME Remote Desktop
     Loaded: loaded (/usr/lib/systemd/user/gnome-remote-desktop.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2023-05-31 20:10:01 JST; 2min 43s ago
   Main PID: 19267 (gnome-remote-de)
      Tasks: 18 (limit: 9229)
     Memory: 61.6M
        CPU: 9.097s
     CGroup: /user.slice/user-1000.slice/user@1000.service/app.slice/gnome-remote-desktop.service
             └─19267 /usr/libexec/gnome-remote-desktop-daemon

 5月 31 20:10:01 mayo systemd[699]: Starting GNOME Remote Desktop...
 5月 31 20:10:01 mayo systemd[699]: Started GNOME Remote Desktop.
 5月 31 20:10:02 mayo gnome-remote-desktop-daemon[19267]: Cannot load libcuda.so.1
 5月 31 20:10:02 mayo gnome-remote-desktop-daemon[19267]: Cannot load libnvidia-encode.so.1
 5月 31 20:10:02 mayo gnome-remote-de[19267]: RDP server started
 5月 31 20:10:04 mayo gnome-remote-desktop-daemon[19267]: [20:10:04:725] [19267:19283] [WARN][com.winpr.negotiate] - AcceptSecurityContext status SEC_I_CONTINUE_NEEDED [0x00090312]
 5月 31 20:10:04 mayo gnome-remote-desktop-daemon[19267]: [20:10:04:824] [19267:19283] [WARN][com.winpr.negotiate] - AcceptSecurityContext status SEC_I_COMPLETE_NEEDED [0x00090313]
 5月 31 20:10:05 mayo gnome-remote-de[19267]: [RDP.CLIPRDR] Client capabilities: long format names
 5月 31 20:10:05 mayo gnome-remote-de[19267]: [RDP.RDPGFX] CapsAdvertise: Accepting capability set with version RDPGFX_CAPVERSION_106, Client cap flags: H264 (AVC444): false, H264 (AVC420): false

ここで他の Ubuntu22.04 から Remmina で接続しようとすると、以下のように表示され、「はい」とすると接続できる。
image.png

リモートデスクトップ中は、物理ディスプレイ側はログオフすることなく、ログオンしたまま両方で同じ表示がなされ、同時に操作できる。その間、タスクバーにはリモートデスクトップでの共有がなされている表示が出る。

image.png

問題点

日本語キーボードに完全に対応できていない。|キーや変換・無変換キーなどが使用できない。

CUI でリモートデスクトップサーバーを有効化 ( xrdp )

上のGUIでやるやりかたとは異なって、以前からある馴染みのあるやりかた。
これはリモート側でデスクトップを専有する。
そして物理デスクトップ側は同じユーザはログオフしておかないといけない。
確認していないが、TCP/IPポートが競合するため上のGUIでやるやりかたとはそのままでは共存できない。

インストール


$ sudo apt install xrdp

実行

$ sudo systemctl start xrdp

停止

$ sudo systemctl stop xrdp

実行している状態で、 Remmina から接続する。

image.png

接続できました。

image.png

通常のメニューが出てきていないので「アクティビティ」を押して画面下のアイコンから操作します。

image.png

キーボードグラブボタンを押してからWindowsキー(Superキー)を押す、ないし右Ctrlキーを押してからWindowsキーを押す、ことでも同様の操作ができます。

image.png

画面解像度はToggle dynamic resolution update を有効にして、ウィンドウサイズを変えると画面解像度を大きくすることができます。
image.png

GUI で操作するリモートデスクトップクライアント ( Remmina )

こちらは RDP クライアント。

インストール

$ sudo apt install remmina

一度起動すると常駐する

image.png

日本語キーボードの問題

上記の「GUI でやるやりかた」に接続する時に、日本語キーボードの|や 変換・無変換キーなどが使えない。Remmina側の問題かと思い、以下のように設定したが解消しない(Auto Detectの設定のままで日本語キーボードは問題なく設定できているようです)。

image.png

実は「GUI でやるやりかた」に接続する場合はサーバー側のバグが原因らしい。

cf., 「Ubuntu 22.04 - おなかすいたWiki!」
https://wiki.onakasuita.org/pukiwiki/?Ubuntu%2022.04

CUI で起動するリモートデスクトップクライアント ( rdesktop / xfreerdp )

rdesktop

上記CUIのリモートデスクトップサーバに接続しました。

$ rdesktop  192.168.42.5

日本語キーボードはOK。FreeRDP の操作としてウィンドウ画面からキーストロークを送ったり画面スケールモードを指定したりするなどの機能などは特に無いようだ。

image.png

上記GUIのリモートデスクトップサーバには接続できませんでした。

Autoselecting keyboard map 'ja' from locale
Core(warning): Certificate received from server is NOT trusted by this system, an exception has been added by the user to trust this specific certificate.
Failed to initialize NLA, do you have correct Kerberos TGT initialized ?
Failed to connect, CredSSP required by server (check if server has disabled old TLS versions, if yes use -V option).

試してないが MS-Windows などへの接続も、同様のエラーが出るらしい。
この問題に関しての資料:
https://github.com/rdesktop/rdesktop/issues/28

xfreerdp

インストール

$ sudo apt install freerdp2-x11

実行

$ xfreerdp /u:nanbuwks /v:192.168.42.5
[08:46:44:023] [928037:928038] [WARN][com.freerdp.crypto] - Certificate verification failure 'self-signed certificate (18)' at stack position 0
[08:46:44:023] [928037:928038] [WARN][com.freerdp.crypto] - CN = GNOME, C = US
Password: 
[08:46:48:067] [928037:928038] [INFO][com.freerdp.gdi] - Local framebuffer format  PIXEL_FORMAT_BGRX32
[08:46:48:067] [928037:928038] [INFO][com.freerdp.gdi] - Remote framebuffer format PIXEL_FORMAT_BGRA32
[08:46:48:087] [928037:928038] [INFO][com.freerdp.channels.rdpsnd.client] - [static] Loaded fake backend for rdpsnd
[08:46:48:087] [928037:928038] [INFO][com.freerdp.channels.drdynvc.client] - Loading Dynamic Virtual Channel rdpgfx
[08:46:48:152] [928037:928038] [WARN][com.freerdp.client.x11] - xf_lock_x11_:	[1] recursive lock from xf_sw_end_paint
[08:46:48:153] [928037:928038] [WARN][com.freerdp.client.x11] - xf_lock_x11_:	[1] recursive lock from xf_sw_end_paint

上記CUIでのリモートデスクトップサーバーに接続したところ。日本語キーボードはOK。FreeRDP の操作としてウィンドウ画面からキーストロークを送ったり画面スケールモードを指定したりするなどの機能などは特に無いようだ。

image.png

rdesktop だと上記 GUI でのリモートデスクトップサーバに接続できませんでしたが、xfreerdp だとOKでした。MS-Windows への接続もこちらだと OK なはず?

4
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
6