【问题标题】:Issue in start of vncserver through cronjob通过 cronjob 启动 vncserver 的问题
【发布时间】:2020-09-14 18:18:35
【问题描述】:

按照我用来启动 vnc 的脚本,

cd $HOME; vncserver -kill :12 
cd $HOME; vncserver :12 -geometry 1280x1024 -name myvnc --alwaysshared

当我从终端运行时它可以工作,但是当我从 cronjob 运行时它会出错

从cron启动时的vnc截图

机器配置

Operating System: Red Hat Enterprise Linux Server 7.6 (Maipo)
CPE OS Name: cpe:/o:redhat:enterprise_linux:7.6:GA:server
Kernel: Linux 3.10.0-957.el7.x86_64
Architecture: x86-64

机器在过去 141 天内一直处于运行状态,重新启动机器后,上述问题得到解决。谁能告诉我如何找出导致此问题出现的原因?

更新: 不过,重启后每 3-4 天就会出现问题。

【问题讨论】:

  • 当您在 crontab 顶部附近添加 DISPLAY=:12 时可能会起作用?
  • @Roadowl 无效。
  • “从 cronjob 运行时出错” 哪个错误吗?
  • @CherryDT 不,它没有。
  • 对不起,“不,它没有”如何回答“你得到哪个错误”的问题?

标签: cron centos7 redhat vnc vnc-server


【解决方案1】:

找到一个黑客,

如果我从 root 用户创建 vnc,那么它可以完美运行。

在 cron 中你可以添加如下条目

su - myuser -c "cd $HOME; vncserver -kill :12; vncserver :12 -geometry 1280x1024 -name myvnc --alwaysshared "

【讨论】:

    【解决方案2】:

    嫌疑人如下:

    1. cron 作业用户已更改为 / 从 root 更改,因此 $HOME 已相应更改。
    2. 尝试“&& 等待”以确保 -kill 已完成,然后再发出下一个命令。
    3. 您是否设置了 MAX 会话?达到了吗? X 可能是问题所在。

    很好奇,当您执行以下操作时,系统的响应是什么?上一个会话还在运行吗? -kill 命令完成了吗?总是这样吗?

    vncserver -kill :12
    ps -fU "$USER" | grep vnc  # or try:  ps -e | grep vnc
    

    我可以建议以下内容来帮助调试过程...

    #!/bin/sh
    cd "$HOME" || exit 1         # a good habit, don't assume the landing.
    echo "$HOME"                 # confirm that the value is what you expect.
    vncserver -kill :12 && wait  # wait for the kill to complete before restarting
    vncserver :12 -geometry 1289x1024 -name myvnc --alwaysshared
    exit 0
    

    也许更好:

    #!/bin/sh
    cd "$HOME" || exit 1
    if ! vncserver -kill :12 ; then
        vncserver :12 -geometry 1289x1024 -name myvnc --alwaysshared
    else
        echo "Error: vncserver 12 Process NOT KILLED, $? "  # $? will give you the return/exit value of previous
    fi
    exit 0
    

    注意事项:

    1. 您没有说您使用的是什么 shell,但您可以用 #!/bin/bash 代替 #!/bin/sh
    2. 您没有粘贴错误声明。

    【讨论】:

      猜你喜欢
      • 2013-02-18
      • 2017-05-26
      • 1970-01-01
      • 2011-09-04
      • 1970-01-01
      • 2021-03-01
      • 1970-01-01
      • 2013-10-23
      • 1970-01-01
      相关资源
      最近更新 更多