コマンドラインでGnome画面共有を有効にしますか?

コマンドラインでGnome画面共有を有効にしますか?

Fedora 30(32リリース予定)に基づいて、「デジタルサイネージクライアント」の自動起動インストールが設定されており、実際の視覚的なフィードバックを得るためにインストールに「Gnome画面共有」アクティベーションを追加したいと思います。今画面にあるもの。 GUIの設定(設定 - 共有 - 画面共有)で動作させ、Gesettingsで「サブ設定」を設定することもできます。

gsettings set org.gnome.desktop.remote-desktop.vnc view-only false
gsettings set org.gnome.desktop.remote-desktop.vnc auth-method 'password'

ところで、「画面共有」自体を有効にする設定が見つかりません。 GUIで有効にすると、次のように表示できますsystemctl status

systemctl status | grep gnome-remote | grep -v grep
           │   │ ├─gnome-remote-desktop.service
           │   │ │ └─5572 /usr/libexec/gnome-remote-desktop-daemon

systemctl startを使用してこのサービスと「デーモン」を直接起動してみましたが、結果は次のとおりです。Failed to start gnome-remote-desktop-daemon.service: Unit gnome-remote-desktop-daemon.service not found.

非常に似た2つの質問がありますが、 "org.gnome.Vino"スキーマがないため、古いようです。

それでは、コマンドラインでGnome画面共有を有効にする方法は?

次に追加:

私はそれを動作させるのに多くの時間を費やし、問題の1つを除いてすべてを解決しました。これで、ユーザーとしてサービスを開始する必要があることがわかったので、プロセス全体は次のようになります。

# Configuration
gsettings set org.gnome.desktop.remote-desktop.vnc auth-method 'password'
gsettings set org.gnome.desktop.remote-desktop.vnc view-only false
gsettings set org.gnome.settings-daemon.plugins.sharing.service:/org/gnome/settings-daemon/plugins/sharing/gnome-remote-desktop/ enabled-connections "['$( grep UUID /etc/sysconfig/network-scripts/ifcfg-enp1s0 | cut -d= -f2)']"

# Start the Remote-Desktop-Service
systemctl start --user gnome-remote-desktop

誰も「許可」をクリックせずに「表示のみ」を「偽」にクリックしないように「パスワード」に設定することで、これを制御し、ネットワークインターフェイスのUUIDを設定できます。その後、正しく構成されたサービスを開始できます。

したがって、最後に欠落しているステップは、コマンドラインを介してパスワードを設定できないことです。ワインと秘密のツールのように試してみましたが、うまくいきません

gsettings set org.gnome.Vino vnc-password $(echo -n "myPassword"|base64)
secret-tool store --label='Label' {attribute} {value}

秘密ツールの問題は、Gnomeキーリングの元のアイテムに「プロパティ」と「値」がないが、これらのアイテムは秘密ツールに必須であるため、アイテムを1:1に再現できないことです。

だから:CLIを介してgnome-screen-sharingのパスワードを正しく設定する方法を知っている人はいますか?

答え1

だから、何時間も研究を終えた。

あなたの指示は正しいです。ただし、GNOMEはVNC接続を許可しません。画面がロックされている場合。したがって、loginctl list-sessionsあなたを使用してセッションをリストします。グラフィックアイテム(識別子または同様のアイテムが必要です)を見つけて、位置列を使用してロックseat0を解除します。確認のためにできることが必要です。完了したら、VNCを介してログインしてみてください。私にはすぐに効果がありました。loginctl unlock-session XXIDlist-sessionsloginctl show-session XLockedHint=no

要約すると、すべてのステップは次のとおりです。

gsettings set org.gnome.desktop.remote-desktop.vnc auth-method 'password'
gsettings set org.gnome.desktop.remote-desktop.vnc view-only false
echo -n 'password' | secret-tool store --label="GNOME Remote Desktop VNC password" "xdg:schema" "org.gnome.RemoteDesktop.VncPassword"
systemctl --user start gnome-remote-desktop.service
loginctl unlock-session $(loginctl --no-legend --value list-sessions | awk '/seat/ { print $1}')

ネットワークインターフェイスなどを許可する必要はありません。

答え2

Waylandが無効になったUbuntu 22.04で動作するスクリプトを整理して分岐しました。

https://gist.github.com/Pieter81/78a3a087f142d712951f8352bb9ab2ba

関連情報