tigervnc vnc セッションで KDE パネルが見つからない

tigervnc vnc セッションで KDE パネルが見つからない

tigervnc サーバーへの VNC アクセスを取得したいと考えています。両方のラップトップは ArchLinux sddm KDE xorg (wayland ではない) で実行されており、サーバーを実行して Dolphin を開くまでに 1 日かかりましたが、他には何もありませんでした。xstartup ファイルには次の内容が含まれています。

    #!/bin/sh
    # Run a generic session
    if [ -z "$MODE" ]
    then
            xsetroot -solid grey & #has impact on the background
            export XKB_DEFAULT_RULES=base #no impact
            export QT_XKB_CONFIG_ROOT=/usr/share/X11/xkb #no impact
            kstart5 plasmashell & #no impact
            konsole & #is opening
            firefox & #is opening
            xrandr --dpi 144 & #see no difference
            dbus-launch startplasma-x11 #this is what moves the needle rn :)

    fi

サーバーを起動しvncserver :1 -depth 24 -geometry 1920x1080 、remmina クライアント、Google VNC ビューア、および IP:ポートを使用した KRDC を使用してサーバーにアクセスします。VNC 転送の外観は非常に良好で、応答時間も良好です。デスクトップを右クリックできず、タスク バーが表示されず、プラズマ パネルがありません。

Firefox などのアプリケーションをターミナルで起動できますが、プラズマ パネルはなぜか起動できません。ログアウト画面も正常に動作し、完璧なグラフィックとアニメーションでログアウトおよびログインできます。

ここに画像の説明を入力してください


そこで質問です。プラズマ パネル + デスクトップを vnc サーバーに表示するにはどうすればよいでしょうか。また、tty1 の元のデスクトップに接続するにはどうすればよいでしょうか。

(サーバー ラップトップに直接アクセスすると、問題なく動作し、パネルが表示され、スムーズに動作します。また、gnome vnc サーバーも数秒で起動して実行できました。KDE に惚れ込んでしまったのですが、vnc 経由の gnome よりも、KDE ​​の方がはるかにスムーズで高速で反応が速いのです)

    [jack@nasa .vnc]$ cat nasa:1.log
    16/12/19 02:43:40 Xvnc version TightVNC-1.3.10
    16/12/19 02:43:40 Copyright (C) 2000-2009 TightVNC Group
    16/12/19 02:43:40 Copyright (C) 1999 AT&T Laboratories Cambridge
    16/12/19 02:43:40 All Rights Reserved.
    16/12/19 02:43:40 See http://www.tightvnc.com/ for information on TightVNC
    16/12/19 02:43:40 Desktop name 'X' (nasa:1)
    16/12/19 02:43:40 Protocol versions supported: 3.3, 3.7, 3.8, 3.7t, 3.8t
    16/12/19 02:43:40 Listening for VNC connections on TCP port 5901
    16/12/19 02:43:40 Listening for HTTP connections on TCP port 5801
    16/12/19 02:43:40   URL http://nasa:5801
    RandR extension missing
    qt.qpa.xcb: XKeyboard extension not present on the X server
    QApplication: invalid style override passed, ignoring it.
        Available styles: Breeze, qt5ct-style, Oxygen, Windows, Fusion
    Omitting both --window and --windowclass arguments is not recommended
    qt.qpa.xcb: XKeyboard extension not present on the X server
    qt.qpa.xcb: XKeyboard extension not present on the X server
    dbus-update-activation-environment: warning: error sending to systemd: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.systemd1 was not provided by any .service files
    QApplication: invalid style override passed, ignoring it.
        Available styles: Breeze, qt5ct-style, Oxygen, Windows, Fusion
    kdeinit5: preparing to launch '/usr/lib/kf5/klauncher'
    kdeinit5: Launched KLauncher, pid = 36797, result = 0
    kdeinit5: opened connection to :1
    kdeinit5: preparing to launch 'libkdeinit5_kded5'
    kdeinit5: Launched KDED, pid = 36814 result = 0
    kdeinit5: preparing to launch 'libkdeinit5_kcminit_startup'
    kdeinit5: Launched 'kcminit_startup', pid = 36816 result = 0
    kdeinit5: Got SETENV 'GTK_RC_FILES=/etc/gtk/gtkrc:/home/jack/.gtkrc:/home/jack/.config/gtkrc' from launcher.
    kdeinit5: Got SETENV 'GTK2_RC_FILES=/etc/gtk-2.0/gtkrc:/home/jack/.gtkrc-2.0:/home/jack/.config/gtkrc-2.0' from launcher.
    Xlib:  extension "XInputExtension" missing on display ":1".
    kdeinit5: Got SETENV 'XCURSOR_THEME=breeze_cursors' from launcher.
    kdeinit5: Got EXEC_NEW '/usr/bin/kaccess' from launcher.
    kdeinit5: preparing to launch '/usr/bin/kaccess'
    kdeinit5: PID 36816 terminated.
    kdeinit5: Got EXEC_NEW '/usr/lib/kf5/kconf_update' from launcher.
    kdeinit5: preparing to launch '/usr/lib/kf5/kconf_update'
    kdeinit5: PID 36867 terminated.
    kdeinit5: PID 36839 terminated.
    kdeinit5: Got SETENV 'SESSION_MANAGER=local/nasa:@/tmp/.ICE-unix/36864,unix/nasa:/tmp/.ICE-unix/36864' from launcher.
    org.kde.plasma.session: Starting autostart service  "/etc/xdg/autostart/xembedsniproxy.desktop" ("/usr/bin/xembedsniproxy")
    Xlib:  extension "XInputExtension" missing on display ":1".
    org.kde.plasma.session: Starting autostart service  "/etc/xdg/autostart/polkit-kde-authentication-agent-1.desktop" ("/usr/lib/polkit-kde-authentication-agent-1")
    Xlib:  extension "MIT-SCREEN-SAVER" missing on display ":1".
    Xlib:  extension "MIT-SCREEN-SAVER" missing on display ":1".
    org.kde.plasma.session: Starting autostart service  "/etc/xdg/autostart/org.kde.plasmashell.desktop" ("/usr/bin/plasmashell")
    org.kde.plasma.session: Starting autostart service  "/etc/xdg/autostart/pam_kwallet_init.desktop" ("/usr/lib/pam_kwallet_init")
    org.kde.plasma.session: Starting autostart service  "/etc/xdg/autostart/pulseaudio.desktop" ("/usr/bin/start-pulseaudio-x11")
    org.kde.plasma.session: Starting autostart service  "/etc/xdg/autostart/restore_kmix_volumes.desktop" ("/usr/bin/kmixctrl", "--restore")
    org.kde.plasma.session: Starting autostart service  "/etc/xdg/autostart/org.kde.kdeconnect.daemon.desktop" ("/usr/lib/kdeconnectd")
    grep: .desktop: No such file or directory
    /usr/bin/start-pulseaudio-x11: line 27: [: : integer expression expected
    org.kde.plasma.session: Starting autostart service  "/etc/xdg/autostart/org.kde.discover.notifier.desktop" ("/usr/lib/DiscoverNotifier")
    org.kde.plasma.session: Starting autostart service  "/etc/xdg/autostart/gmenudbusmenuproxy.desktop" ("/usr/bin/gmenudbusmenuproxy")
    [ERROR audio_thread_priority::rt_linux] setrlimit64: 1
    kdeinit5: Got EXEC_NEW '/usr/lib/DiscoverNotifier' from launcher.
    kdeinit5: preparing to launch '/usr/lib/DiscoverNotifier'

    16/12/19 02:43:45 Got connection from client 192.168.1.9
    16/12/19 02:43:45 Using protocol version 3.8
    16/12/19 02:43:45 Full-control authentication passed by 192.168.1.9
    16/12/19 02:43:45 Pixel format for client 192.168.1.9:
    16/12/19 02:43:45   32 bpp, depth 24, little endian
    16/12/19 02:43:45   true colour: max r 255 g 255 b 255, shift r 16 g 8 b 0
    16/12/19 02:43:45   no translation needed
    16/12/19 02:43:45 Using hextile encoding for client 192.168.1.9
    16/12/19 02:43:45 Enabling X-style cursor updates for client 192.168.1.9
    16/12/19 02:43:45 Enabling cursor position updates for client 192.168.1.9
    16/12/19 02:43:45 rfbProcessClientNormalMessage: ignoring unknown encoding -131072
    16/12/19 02:43:45 rfbProcessClientNormalMessage: ignoring unknown encoding -223
    16/12/19 02:43:45 rfbProcessClientNormalMessage: ignoring unknown encoding -131071
    16/12/19 02:43:45 rfbProcessClientNormalMessage: ignoring unknown encoding -131070
    16/12/19 02:43:45 rfbProcessClientNormalMessage: ignoring unknown encoding -131069
    16/12/19 02:43:45 rfbProcessClientNormalMessage: ignoring unknown encoding -309
    kdeinit5: Got EXEC_NEW '/usr/bin/kmix' from launcher.
    kdeinit5: preparing to launch '/usr/bin/kmix'
    kdeinit5: PID 36966 terminated.
    The X11 connection broke: Unsupported extension used (code 2)
    XIO:  fatal IO error 2 (No such file or directory) on X server ":1"
          after 305 requests (282 known processed) with 0 events remaining.
    kdeinit5: Got EXEC_NEW '/usr/bin/korgac' from launcher.
    kdeinit5: preparing to launch '/usr/bin/korgac'
    XIO:  fatal IO error 2 (No such file or directory) on X server ":1"
          after 417 requests (417 known processed) with 0 events remaining.
    kdeinit5: Got EXEC_NEW '/usr/bin/dolphin' from launcher.
    kdeinit5: preparing to launch '/usr/bin/dolphin'
    XIO:  fatal IO error 0 (Success) on X server ":1"
          after 404 requests (376 known processed) with 0 events remaining.
    XIO:  fatal IO error 0 (Success) on X server ":1"
          after 336 requests (325 known processed) with 0 events remaining.
    kdeinit5: PID 36987 terminated.
    org.kde.plasma.session: Starting autostart service  "/etc/xdg/autostart/powerdevil.desktop" ("/usr/lib/org_kde_powerdevil")
    org.kde.plasma.session: Starting autostart service  "/etc/xdg/autostart/gnome-shell-overrides-migration.desktop" ("/usr/lib/gnome-shell-overrides-migration.sh")
    org.kde.plasma.session: Starting autostart service  "/etc/xdg/autostart/light-locker.desktop" ("/usr/bin/light-locker")
    org.kde.plasma.session: Starting autostart service  "/etc/xdg/autostart/geoclue-demo-agent.desktop" ("/usr/lib/geoclue-2.0/demos/agent")
    org.kde.plasma.session: Starting autostart service  "/home/jack/.config/autostart/ignore-lid-switch-tweak.desktop" ("/usr/lib/gnome-tweak-tool-lid-inhibitor")
    org.kde.plasma.session: Starting autostart service  "/etc/xdg/autostart/org.kde.korgac.desktop" ("/usr/bin/korgac")
    org.kde.plasma.session: Starting autostart service  "/etc/xdg/autostart/tracker-miner-rss.desktop" ("/usr/lib/tracker-miner-rss")
    org.kde.plasma.session: Starting autostart service  "/etc/xdg/autostart/tracker-store.desktop" ("/usr/bin/gdbus", "call", "-e", "-d", "org.freedesktop.DBus", "-o", "/org/freedesktop/DBus", "-m", "org.freedesktop.DBus.StartServiceByName", "org.freedesktop.Tracker1", "0")

    ** (light-locker:37055): ERROR **: 02:43:47.104: Environment variable XDG_SESSION_PATH not set. Is LightDM running?
    org.kde.plasma.session: Starting autostart service  "/etc/xdg/autostart/tracker-extract.desktop" ("/usr/lib/tracker-extract")
    org.kde.plasma.session: Starting autostart service  "/etc/xdg/autostart/tracker-miner-fs.desktop" ("/usr/lib/tracker-miner-fs")
    Xlib:  extension "XInputExtension" missing on display ":1".
    Xlib:  extension "XInputExtension" missing on display ":1".
    XIO:  fatal IO error 0 (Success) on X server ":1"
          after 304 requests (293 known processed) with 0 events remaining.
    org.kde.plasma.session: Starting autostart service  "/etc/xdg/autostart/kmix_autostart.desktop" ("/usr/bin/kmix", "--keepvisibility")
    (uint32 1,)
    Traceback (most recent call last):
      File "/usr/lib/gnome-tweak-tool-lid-inhibitor", line 17, in on_activate
        var, fdlist = bus.call_with_unix_fd_list_sync('org.freedesktop.login1',
    gi.repository.GLib.Error: g-dbus-error-quark: GDBus.Error:org.freedesktop.DBus.Error.AccessDenied: Permission denied (9)
    KCrash: Attempting to start /usr/bin/kdeinit5 from kdeinit
    kdeinit5: Got EXEC_NEW '/usr/bin/kdeinit5' from wrapper.
    kdeinit5: preparing to launch '/usr/bin/kdeinit5'
    KCrash: crashing... crashRecursionCounter = 2
    KCrash: Application Name = kdeinit5 path = /usr/bin pid = 36814
    KCrash: Arguments: /usr/bin/kdeinit5 
    KCrash: Attempting to start /usr/lib/drkonqi from kdeinit
    kdeinit5: Got EXEC_NEW '/usr/lib/drkonqi' from wrapper.
    kdeinit5: preparing to launch '/usr/lib/drkonqi'
    kdeinit5: Shutting down running client.
    kdeinit5: Got termination request (PID 36787).
    kdeinit5: Closed sockets, but not exiting until all children terminate.
    klauncher: Exiting on signal 15
    kdeinit5: PID 36797 terminated.
    KCrash: Attempting to start /usr/lib/org_kde_powerdevil from kdeinit
    Warning: connect() failed: : No such file or directory
    KCrash: Attempting to start /usr/lib/org_kde_powerdevil directly
    KCrash: crashing... crashRecursionCounter = 2
    KCrash: Application Name = org_kde_powerdevil path = /usr/lib pid = 37050
    KCrash: Arguments: /usr/lib/org_kde_powerdevil 
    KCrash: Attempting to start /usr/lib/drkonqi from kdeinit
    Warning: connect() failed: : No such file or directory
    KCrash: Attempting to start /usr/lib/drkonqi directly
    Xlib:  extension "MIT-SCREEN-SAVER" missing on display ":1".
    kdeinit5: preparing to launch '/usr/lib/kf5/klauncher'
    kdeinit5: Launched KLauncher, pid = 37221, result = 0
    XIO:  fatal IO error 0 (Success) on X server ":1"
          after 337 requests (326 known processed) with 0 events remaining.
    kdeinit5: preparing to launch '/usr/lib/kf5/klauncher'
    kdeinit5: Launched KLauncher, pid = 37234, result = 0
    Xlib:  extension "MIT-SCREEN-SAVER" missing on display ":1".
    kdeinit5: opened connection to :1
    kdeinit5: Got EXEC_NEW '/usr/lib/qt/plugins/kf5/kio/tags.so' from launcher.
    kdeinit5: preparing to launch '/usr/lib/qt/plugins/kf5/kio/tags.so'
    kdeinit5: Got EXEC_NEW '/usr/lib/qt/plugins/kf5/kio/trash.so' from launcher.
    kdeinit5: preparing to launch '/usr/lib/qt/plugins/kf5/kio/trash.so'
    kdeinit5: Got EXEC_NEW '/usr/lib/qt/plugins/kf5/kio/file.so' from launcher.
    kdeinit5: preparing to launch '/usr/lib/qt/plugins/kf5/kio/file.so'
    kdeinit5: Got EXEC_NEW '/usr/lib/qt/plugins/kf5/kio/file.so' from launcher.
    kdeinit5: preparing to launch '/usr/lib/qt/plugins/kf5/kio/file.so'
    kdeinit5: Got EXEC_NEW '/usr/lib/qt/plugins/kf5/kio/file.so' from launcher.
    kdeinit5: preparing to launch '/usr/lib/qt/plugins/kf5/kio/file.so'
    kdeinit5: Got EXEC_NEW '/usr/lib/qt/plugins/kf5/kio/thumbnail.so' from launcher.
    kdeinit5: preparing to launch '/usr/lib/qt/plugins/kf5/kio/thumbnail.so'
    kdeinit5: Communication error with launcher. Exiting!
    kdeinit5: PID 37187 terminated.
    KCrash: crashing... crashRecursionCounter = 2
    KCrash: Application Name = drkonqi path = /usr/lib pid = 37189
    KCrash: Arguments: /usr/lib/drkonqi --appname kdeinit5 --kdeinit --apppath /usr/bin --signal 11 --pid 36814 --startupid 0 --restarted 
    KCrash: Attempting to start /usr/lib/drkonqi from kdeinit
    Warning: connect() failed: : Connection refused
    KCrash: Attempting to start /usr/lib/drkonqi directly
    kdeinit5: PID 36814 terminated.
    KCrash: crashing... crashRecursionCounter = 2
    KCrash: Application Name = drkonqi path = /usr/lib pid = 37213
    KCrash: Arguments: /usr/lib/drkonqi --appname org_kde_powerdevil --apppath /usr/lib --signal 6 --pid 37050 --appversion 2.0.0 --programname KDE Power Management System --bugaddress [email protected] --startupid 0 --restarted 
    KCrash: Attempting to start /usr/lib/drkonqi from kdeinit
    Warning: connect() failed: : Connection refused
    KCrash: Attempting to start /usr/lib/drkonqi directly
    Unable to start Dr. Konqi
    Re-raising signal for core dump handling.
    Unable to start Dr. Konqi
    Re-raising signal for core dump handling.
    kdeinit5: PID 37189 terminated.
    16/12/19 02:44:56 KbdAddEvent: unknown KeySym 0xff61 - allocating KeyCode 89

    (tracker-miner-fs:37115): Tracker-CRITICAL **: 02:45:24.859: Could not remove files in volumes: GDBus.Error:org.freedesktop.DBus.Error.NoReply: Message recipient disconnected from message bus without replying

    (tracker-miner-fs:37115): Tracker-CRITICAL **: 02:45:24.859: Could not remove files in volumes: GDBus.Error:org.freedesktop.DBus.Error.NoReply: Message recipient disconnected from message bus without replying

    (tracker-miner-fs:37115): Tracker-CRITICAL **: 02:45:24.859: Could not initialize currently active mount points: GDBus.Error:org.freedesktop.DBus.Error.NoReply: Message recipient disconnected from message bus without replying
    kdeinit5: PID 37256 terminated.
    kdeinit5: PID 37263 terminated.
    kdeinit5: PID 37270 terminated.
    kdeinit5: PID 37262 terminated.
    kdeinit5: PID 37272 terminated.
    16/12/19 02:53:56 Client 192.168.1.9 gone
    16/12/19 02:53:56 Statistics:
    16/12/19 02:53:56   key events received 12, pointer events 935
    16/12/19 02:53:56   framebuffer updates 318, rectangles 834, bytes 13818357
    16/12/19 02:53:56     cursor shape updates 74, bytes 9740
    16/12/19 02:53:56     cursor position updates 1, bytes 12
    16/12/19 02:53:56     copyRect rectangles 39, bytes 624
    16/12/19 02:53:56     hextile rectangles 720, bytes 13807981
    16/12/19 02:53:56   raw bytes equivalent 318610964, compression ratio 23.074406

答え1

そこで、誰かが同じ疑問に遭遇した場合に備えて、2 つの解決策を見つけました。

  1. TigervncまたはTightvncを使用

  2. x11vnc を使用

両者の違いは、1. 独自の x11 サーバーを起動し、2. 既存のデスクトップに接続することです。1. では、任意の画面解像度を設定し、ハードウェアが処理できる限り多くのサーバーを起動できます。制限については何も言われませんでした。

1. tigervnc の最初の起動後、~/.vnc フォルダーに xstartup ファイルが作成されます。kde lasermask x11 セッションを開始するには、このファイルに次の内容が含まれている必要があります。

    #!/bin/sh
    # Run a generic session
    if [ -z "$MODE" ]
    then
            xsetroot -solid grey &   #set the background picture
            export XKB_DEFAULT_RULES=base & #both should be needed for keyboard signals
            export QT_XKB_CONFIG_ROOT=/usr/share/X11/xkb & 


    #       export $(dbus-launch) &
    #       exec startplasma-x11&
    #       kstart5 plasmashell &
            konsole & #starts konsole (kde terminal)
            firefox & #starts firefox
            ksysguard & #starts the kde system monitor
    #       xrandr --dpi 144 & # 
            kstart5 plasmashell & #adds a task bar to the windows
            dbus-launch startplasma-x11  #starts the actual window + Dolphin

    #       /opt/kde/bin/startkde &   
    fi

コメントアウトされたすべてのオプション(そして、結果が悪かったり、まったく結果が出なかったりするトライアウトがさらに多くあります)

vncserver :1 -depth 24 -geometry 1920x1080FullHDでサーバーを起動し、それを終了します(1はセッションを表し、コマンドを実行するたびに増加します)。IPとポート - fe 192.168.1.4:5901(標準ポート、サーバーのIPは で見つかります)vncserver -kill :1を使用して、remmina guiクライアントでサーバーに接続できます。ip addr

タスク バーはまだなく、バックグラウンド デスクトップ オプションも利用できませんが、動作し、ウィンドウを移動したりサイズを変更したり、ターミナルで新しいウィンドウを開始したりできます。解決策が見つかった場合は、ぜひお知らせください :)


sudo pacman -S x11vnc2. x11vnc( )をインストールしてサーバー上で起動するだけで、非常に簡単かつ高速です。x11vnc -many -display :0

次に、remmina クライアントと IP (ポートなし) (fe 192.168.1.4) に接続します。これで完了です。元のモニターの画像が表示されます。(私の場合は HD 解像度ですが、デスクトップとタスクパネルがあります)

コマンド -many を省略すると、セッションは 1 つの接続に対してのみ使用可能となり、vnc クライアントを切断すると終了し、接続するたびに再起動する必要があります。many の場合はそのままです。再起動後に x11vnc を自動的に起動するには、次のようにします。

これに何時間も費やしました。x11vnc を root として起動するのは得策ではないと思います。Arch [email protected]Linux ではこのフォルダーはここにあります。/usr/lib/systemd/system/ファイルを作成して[email protected]次の内容を含めるだけです。

    [Unit]
    Description=VNC Server for X11
    Requires=display-manager.service
    After=display-manager.service

    [Service]
    Type=forking
    ExecStart=/usr/bin/x11vnc -rfbauth /home/user/.vnc/passwd -ncache 2 -forever -shared -bg -display :0
    Restart=on-failure
    RestartSec=10
    User=%I

    [Install]
    WantedBy=multi-user.target

一度起動すると

systemctl start [email protected]

ここで「user」を自分のユーザーに変更すると、起動後に自動的に起動できるようになります。

systemctl enable [email protected]

そして失敗することはありません (再起動に関する行は省略できるかもしれません)。

はい、それです :)

編集: 現在、多くの Arch Linux サーバーでテストしましたが、安定性の理由から、git バージョン (yay -S x11vnc-gitではなくyay -S x11vnc) を使用する必要があります。特定のコンピューターでコンパイルすると、コンパイラーがインストール済みのシステムに対して完全に最適化されるからです。ほとんどの場合は必要ありませんが、一部のハードウェアでは必要です。

また、-ncache 2 フラグは、前の画像との差分を送信するだけで、VNC サーバーへの帯域幅を高速化/保護しますが、これはオプションであり、帯域幅が問題にならない場合はこれなしでも正常に動作します。

関連情報