我在 Fedora 21 上运行 LXDE。我的脚本的目的是在两个显示器上扩展显示:
#!/bin/sh
xrandr --output VIRTUAL1 --off --output LVDS1 --mode 1440x900 --pos 1280x124 --rotate normal --output TV1 --off --output VGA1 --mode 1280x1024 --pos 0x0 --rotate normal
Run Code Online (Sandbox Code Playgroud)
这在终端窗口中运行没有问题,但作为 cron 作业而窒息。
从我的 cron 日志:
Jul 9 20:14:01 localhost CROND[19494]: (user) CMD (/home/user/screens.sh)
Jul 9 20:14:01 localhost CROND[19492]: (user) CMDOUT (无法打开显示)
xrandr 需要$DISPLAY
变量集来告诉它它正在操纵哪个 X 会话,而这不是在 cron 环境中设置的。
xrandr 可能正在处理您的默认本地 X 会话,或者您通过startx
从 TTY运行开始的第二个会话,或者通过 SSH 转发到远程显示的会话,或者使用 Xnest 在另一个会话中运行的嵌套 X 会话等。如果没有$DISPLAY
环境变量(或--display
命令行参数),它通常无法知道要连接到哪个会话,因此它会退出。
例如,以下命令可能会解决您的问题:
DISPLAY=:0 /home/user/screens.sh
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1383 次 |
最近记录: |