Man*_*ean 8 root wayland synaptic ufw xhost
在新的 Wayland 显示服务器下,多个需要 root 权限的应用程序无法运行。我实际上有一个答案(解决该问题的一种方法)。我欢迎任何更好的解决方案或批评。
此问题的许多其他答案建议将 root 添加到 xhost,这虽然解决了问题,但稍微破坏了 Wayland 安全模型。最好只在程序运行期间将 root 添加到 xhost,无论是 synaptic 还是 gparted 或任何一个。
古夫:
编辑 gufw.desktop 文件(Debian 10 中的 /usr/share/applications/gufw.desktop)并更改以下行:
Exec=gufw
到
Exec=sh -c "xhost +si:localuser:root && gufw && xhost -si:localuser:root"
突触:
受到以下帖子的启发:https://discourse.ubuntu.com/t/adding-applications-to-start-up/9288 编辑 /usr/bin/synaptic-pkexec 以注释掉 zenity 警告消息(假设是 Debian 10)并更改行:
exec "/usr/sbin/synaptic" "$@"
到
xhost +si:localuser:root
pkexec "/usr/sbin/synaptic" "$@"
xhost -si:localuser:root
Run Code Online (Sandbox Code Playgroud)
我想其他程序大多可以像 gufw 一样进行修改。这并不能解决旧程序以 root 身份运行所有内容(包括 GUI)的根本问题,但至少它们可以像以前一样运行。
小智 9
在 Wayland 中,其他用户无法启动应用程序,因为他们无法访问位于以下位置的 Wayland 套接字文件:$XDG_RUNTIME_DIR/$WAYLAND_DISPLAY.\xc2\xa0\n的 Wayland 套接字文件。但是,root 会忽略所有文件权限,因此当在 WAYLAND_DISPLAY 中指定完整路径时,可以完美访问套接字文件。由于 Wayland 客户端库中的实现细节,还需要将 XDG_RUNTIME_DIR 定义为某些内容(即使实际值并未真正使用)。
因此,实际上可以将 Synaptic 作为纯 Wayland 应用程序运行,例如
\nsudo /bin/env WAYLAND_DISPLAY="$XDG_RUNTIME_DIR/$WAYLAND_DISPLAY" XDG_RUNTIME_DIR=/user/run/0 /usr/sbin/synaptic\nRun Code Online (Sandbox Code Playgroud)\n到目前为止,我仅使用 Sway 测试了该技巧。
\n| 归档时间: |
|
| 查看次数: |
6875 次 |
| 最近记录: |