我遇到了一个问题,如果我在远程系统上以守护进程模式启动 Emacs,然后在我的本地系统中运行ssh remotehost emacsclient -c,它会失败,并且由于身份验证错误而导致 X11 连接被拒绝。 然而,诸如此类的事情ssh remotehost xterm工作正常,所以它与 ssh 连接、X 转发等无关。
有问题的两个系统都运行 Ubuntu 18.04 LTS。
可以猜到,问题是 xauth,特别是在阅读了 2010/2011 年提交的问题后,这似乎是由于 GDM 将环境XAUTHORITY变量设置为$XDG_RUNTIME_DIR/gdm/Xauthority(类似于/run/user/1000/gdm/Xauthority)的方式,而传入的 SSH 连接则不然XAUTHORITY在为 SSH 会话设置 xauth cookies 之前设置。
这意味着 ssh xauth cookie 将添加到默认$HOME/.Xauthority文件中。我的 Emacs 守护进程无法看到这些 cookie,因为它正在使用 GDM$XDG_RUNTIME_DIR/gdm/Xauthority文件。
正如我所说,这种差异似乎已经是一个已知问题 8 年多了……没有人解决它吗?疯狂的。我已经编写了一个安装 cookie 的脚本,但必须这样做是相当恶心的。
有没有办法让我的 ssh 会话使用 GDM Xauthority 文件?我已经尝试XAUTHORITY在 shell 设置中进行设置,但显然设置得太晚了,在 SSH 守护程序配置新的 Xauth cookie 之后,因为它仍然放入$HOME/.Xauthority.
我正在使用 gdm,我的目标是禁用特定 X 窗口 ID 上的用户交互。
我尝试使用 xprop 更改许多 X-win 属性,例如 WM_PROTOCOLS、WM_HINTS、_NET_WM_ALLOWED_ACTIONS。虽然,我成功地更改了属性,但看起来 wm 忽略了我的更改而不是采用默认值,或者需要 xsync(类似)步骤来反映这些更改。
使用 xprop 来更改 WM_HINTS:
xprop -id 0x6a001f9 -format WM_HINTS 32cbcxxiixx -set WM_HINTS 3,False,1,0x0,0x0,0,0,0x0,0x0
xprop -id 0x6a001f9 WM_HINTS [之前] 的结果:
WM_HINTS(WM_HINTS):
Client accepts input or input focus: True
Initial state is Normal State.
Run Code Online (Sandbox Code Playgroud)
xprop -id 0x6a001f9 WM_HINTS [之后] 的结果:
WM_HINTS(CARDINAL):
Client accepts input or input focus: False
Initial state is Normal State.
Run Code Online (Sandbox Code Playgroud)
除了属性类型从 WM_HINTS 更改为 CARDINAL 之外,其他一切都按预期进行,但窗口 # 0x6a001f9 仍然接收输入。
xwininfo 的输出确认:
xwininfo -id 0x6a001f9 -wm …
当我不再使用图形会话时,屏幕保护程序会自动锁定它并关闭屏幕电源以节省能源。
我希望它保持锁定会话状态但不关闭屏幕电源,这可能吗?
我将Ubuntu 18.04与默认的gnome显示管理器一起使用。
谢谢,
马蒂亚斯
我正在尝试使用Ubuntu 18.04中的GDM3(3.28.0)配置LDAP.
但我可以使用ldap用户登录终端.在GUI中我无法登录(着名的GDM循环登录).
我配置pam来创建主文件夹:
vim /etc/pam.d/common-session
session required pam_mkhomedir.so umask=077 skel=/etc/skel
Run Code Online (Sandbox Code Playgroud)
但是,这还不够!
我安装了lightdm,在这个GUI中,我可以登录!
有什么建议吗?
谢谢!
gdm ×4
gnome ×2
emacs-server ×1
emacsclient ×1
ldap ×1
screensaver ×1
ssh ×1
ubuntu ×1
ubuntu-18.04 ×1
x11 ×1
xlib ×1