相关疑难解决方法(0)

在远程 X 显示器上打开一个窗口(为什么“无法打开显示器”)?

曾几何时,

DISPLAY=:0.0 totem /path/to/movie.avi
Run Code Online (Sandbox Code Playgroud)

从我的笔记本电脑 ssh 进入我的桌面后会导致图腾movie.avi在我的桌面上播放。

现在它给出了错误:

No protocol specified
Cannot open display:
Run Code Online (Sandbox Code Playgroud)

当两台计算机上都稳定时,我重新安装了 Debian 挤压,我想我破坏了配置。

我在谷歌上搜索过这个,但终其一生都无法弄清楚我应该做什么。

(VLC 有一个可以工作的 HTTP 接口,但不如 ssh 方便。)

当我尝试从 cron 作业运行它时,会出现同样的问题。

ssh cron x11

92
推荐指数
2
解决办法
16万
查看次数

我可以以 root 身份在另一个用户的桌面上启动图形程序吗?

以下是我认为我需要了解的其他问题:

  • 来自非 X 会话?(意味着 root 没有登录到 X)

  • 如果多人登录 X,我是否可以自动检测谁在哪个屏幕上,从而以编程方式检测我需要在哪个屏幕上启动应用程序?

  • 我可以以用户身份启动应用程序吗?(好吧,我 99.999% 确定这是肯定的)

  • 我可以检测 X 组的用户是否登录到 X 吗?

root xorg session

40
推荐指数
2
解决办法
3万
查看次数

如何以其他用户身份以各种方式运行程序?

背景

我正在尝试定期重新启动一些程序(mail-notificationstalonetray),因为它们似乎经常死机。我想设置在 NetworkManager 重新连接时重新启动它们。因此,我让它们由 中的脚本触发/etc/NetworkManager/dispatcher.d/

脚本编写

我可以创建一个脚本,如下所示。

#!/bin/bash
sudo -u foo_user pkill mail-notificati -x
sudo -u foo_user DISPLAY=:0 mail-notification &
Run Code Online (Sandbox Code Playgroud)

如果我直接以用户身份运行它,效果很好。但是,如果我从 root 的脚本调用它,它就会失败。系统提示我输入密码mail-notification;它无法读取 Gnome 密钥环。

我怎样才能以foo_user各种方式运行这个程序?

users sudo gnome-keyring

12
推荐指数
2
解决办法
3万
查看次数

使用gdm3时如何从cron作业访问X显示?

可能的重复:
在远程 X 显示器上打开一个窗口(为什么“无法打开显示器”)?

我正在尝试运行需要访问我的 X 会话的 cron 作业。我知道我的 X 会话将始终为 :0,因此其中一部分很简单:

/30 * * * * DISPLAY=:0 command
Run Code Online (Sandbox Code Playgroud)

但问题是 gdm3 不再使用$HOME/.Xauthority; 相反,它使用/var/run/gdm3/auth-for-anthony-XXXXXX/databaseX 更改每次登录的位置。

除了$HOME/.Xauthority每次登录时符号链接到 GDM3 文件(或每次登录时编辑 crontab 等——.xsession当然是自动的),还有什么方法可以让 cron 工作正常工作?

cron x11 xauth

8
推荐指数
1
解决办法
5101
查看次数

从他们的 cron 命令访问用户的会话 D-bus

需要什么才能让 cron 命令访问会话总线(如果它正在运行)?

它曾经对我有用,在 Debian Stretch(测试)上从切换 systemd 直到最近(可能是一两个月前)。奇怪的是,虽然我强烈怀疑这是由 PAM 配置控制的,但/etc/pam.d最近发生的唯一变化是添加了一些pam_selinuxpam.d/systemd-user.

那么我应该寻找什么?

cron d-bus

6
推荐指数
1
解决办法
3372
查看次数

标签 统计

cron ×3

x11 ×2

d-bus ×1

gnome-keyring ×1

root ×1

session ×1

ssh ×1

sudo ×1

users ×1

xauth ×1

xorg ×1