我建立了一个基于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直接启动此服务和“守护进程”,但它只导致Failed to start gnome-remote-desktop-daemon.service: Unit gnome-remote-desktop-daemon.service not found.
。
有两个类似的问题,但似乎已经过时了,因为我没有一个模式"org.gnome.Vino":
那么:如何通过命令行实现Gnome屏幕共享?
我已经投入了大量的时间来使这个工作,可以解决所有的问题,除了一个。我现在知道,我必须以用户身份启动服务,所以我的整个过程是:
# 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屏幕共享的密码?
发布于 2021-10-28 17:06:53
所以我在戳了它几个小时之后就这么做了。
你的指示是正确的。但是,如果屏幕被锁定,GNOME将不允许VNC连接。因此,使用loginctl list-sessions
,您可以列出您的会话。查找图形化的标识符seat0
或类似的标识符,并使用loginctl unlock-session X
解锁它,其中X
来自list-sessions
的ID
列。要进行验证,您可以使用loginctl show-session X
,并且您应该拥有LockedHint=no
。完成后,尝试通过VNC登录。对我来说,它马上就起作用了。
综上所述,以下是所有步骤:
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}')
不需要允许网络接口或其他任何东西
发布于 2022-07-09 06:24:55
我已经清理并分叉了一个脚本,这个脚本是在wayland禁用的ubuntu22.04上完成的。
https://gist.github.com/Pieter81/78a3a087f142d712951f8352bb9ab2ba
https://unix.stackexchange.com/questions/584174
复制相似问题