相关疑难解决方法(0)

使用终端应用程序的启动器,如何在程序完成后保持终端打开?

我有一个从应用程序启动器运行的终端命令。这很好用,但有时命令会失败,所以我希望终端保持打开状态,以便我可以看到结果。我怎样才能做到这一点?

command-line gnome-terminal launcher

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

如何打开一个额外的控制台并使用一个命令在其中运行程序?

所以我知道如果我输入 gnome-terminal 或 xterm,会弹出一个新窗口。然后我检查了这两个的手册页,没有找到相关的内容。

然后我注意到在 Mac 下你可以在打开程序的情况下进行。但在 Linux 下似乎不是那么简单。

有没有人有经验?

gnome-terminal xterm

10
推荐指数
1
解决办法
3万
查看次数

如何检测 cron 作业中的错误

一个cron作业可能失败的原因真的很大。最常见的原因可能是,

  • 语法错误
  • 使用没有正确路径的可执行文件
  • 使用未在 cron 环境中定义的 shell 变量
  • 尝试在不指定的情况下打开 GUI DISPLAY

等等...

有时真的很难理解是哪个错误阻止了作业的执行。有没有办法检测 cron 作业中的错误?

troubleshooting cron

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

如何在未设置 DISPLAY 时以编程方式查找 DISPLAY 的当前值?(在 crontab 中使用)

我有一个通过 cron 运行的脚本来更改桌面墙纸。我可以通过导出 DISPLAY 变量来让它工作。

但是我担心脚本应该适用于所有系统的问题。如何在不使用 $DISPLAY 的情况下找到 X 服务器设置的 DISPLAY 值?

那么我怎样才能以DISPLAY编程方式找到正确的值。我只能在DISPLAY=:1. 将其设置为":0"使脚本退出

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

xorg bash cron

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

使用 xrandr 和 cron 作业调整亮度

编辑感谢 pa4080,我在下面的脚本中添加了一行,现在效果很好。我不完全明白如何,哦,好吧。

我想做一个 cron 工作来在一天中的不同时间调整我的亮度。在做了一些谷歌搜索和反复试验之后,我编写了以下运行良好的 bash 脚本:

#!/bin/bash
export DISPLAY=$(w $(id -un) | awk 'NF > 7 && $2 ~ /tty[0-9]+/ {print $3; exit}')

H=$(date +%H)

if (( 00 <= 10#$H && 10#$H < 07 )); then
    xrandr --output HDMI-1 --brightness .3 && xrandr --output HDMI-2 --brightness .3 && xrandr --output HDMI-3 --brightness .3
elif (( 07 <= 10#$H && 10#$H < 10 )); then
    xrandr --output HDMI-1 --brightness .5 && xrandr --output HDMI-2 --brightness .5 && xrandr --output …
Run Code Online (Sandbox Code Playgroud)

xrandr bash scripts cron brightness

6
推荐指数
3
解决办法
2194
查看次数

Cron 无法运行 gnome-terminal

我在本地机器上设置了以下 cron。

* * * * * /bin/bash -c /home/JSX/Stuff/J/login-check/open-console.sh

内容open-console.sh如下:-

#! /bin/sh
gnome-terminal --full-screen --hide-menubar -e /home/JSX/Stuff/J/login-check/handle-user.sh
Run Code Online (Sandbox Code Playgroud)

它应该在终端中打开另一个 sh 脚本。但什么也没有发生。还有什么我需要做的吗?像重新启动服务或什么让 cron 作业开始运行?

***文件中给出的绝对路径是正确的。当我/bin/bash -c /home/JSX/Stuff/J/login-check/open-console.sh直接在终端中输入命令时,它起作用了。

command-line cron

4
推荐指数
1
解决办法
4594
查看次数

打开新终端和源脚本

我想编写一个脚本来激活虚拟环境并在新终端中运行 Django 项目的服务器。我的startProject.sh是:

#!/bin/bash
source virtualenv/bin/activate
python manage.py runserver
Run Code Online (Sandbox Code Playgroud)

而且,我可以通过以下方式在当前终端上运行此脚本:

source startProject.sh
Run Code Online (Sandbox Code Playgroud)

我想在脚本打开的新终端中执行此操作。

#!/bin/bash
gnome-terminal --working-directory=/home/myname/project -x 'source startProject.sh'
Run Code Online (Sandbox Code Playgroud)

我也尝试过这个。

#!/bin/bash
gnome-terminal --working-directory=/home/myname/project -x '#!/bin/bash\n source startProject.sh'
Run Code Online (Sandbox Code Playgroud)

两者都不起作用。为什么?我读了其他问题,但我仍然不明白。我是初学者,所以请假设没有经验。

command-line bash scripts gnome-terminal virtualenv

4
推荐指数
1
解决办法
9243
查看次数

16.04:如何让cron创建cron.log并实时监控?

我知道 cron 事件存储在其中/var/log/syslog,我可以使用如下命令:

sudo cat /var/log/syslog | grep cron 
Run Code Online (Sandbox Code Playgroud)

去看他们。

我宁愿让系统保留一个单独的 cron 日志文件,这样它就不会做太多的工作来观察它,因为它syslog会对所有消息进行排序以提取cron通知。

然后我想使用该watch命令,所以我总是有一个打开的终端窗口显示 cron 活动。

如何让系统保留一个单独的/var/log/cron.log文件?

cron log syslog 16.04

4
推荐指数
1
解决办法
2万
查看次数

在重启时运行 python 脚本的 Cron 作业不起作用

我是 linux 新手,我阅读并遵循了许多说明在重新启动时运行 python 脚本,但它们都不起作用:

这是我要运行的命令:

/usr/bin/python3 /home/am/projects/AMAcc/map.py
Run Code Online (Sandbox Code Playgroud)

我使用crontab -e并添加了

@reboot /usr/bin/python3 /home/am/projects/AMAcc/map.py
Run Code Online (Sandbox Code Playgroud)

我尝试sudo crontab -e并添加了相同的命令

我什至编辑了/etc/crontab文件并添加了上面的命令。

尝试#!/usr/bin/python3在我的 python 代码顶部添加并更改其权限,例如: sudo chmod a+x map.py

正如文件中建议所有用户都将能够如果运行cron作业cron.deny文件存在,但其空的,所以我试图创建空的cron.deny两个文件/etc/cron.deny/usr/lib/cron/cron.deny。但是仍然没有运气运行 cron 工作。

我在做什么?

python scripts cron desktop-environments mate

4
推荐指数
1
解决办法
3225
查看次数

如何在启动/重新启动计算机时打开一个(或多个)带有几个选项卡的 gnome 终端窗口,每个选项卡都有不同的配置文件?

我有几个终端配置文件。我可以在启动时打开所有配置文件,它们在启动应用程序中使用此 cmd 在不同的窗口中打开:

gnome-terminal --window-with-profile=ablack && gnome-terminal --window-with-profile=agreeen && gnome-terminal --window-with-profile=aubergine && gnome-terminal --window-with-profile=beige && gnome-terminal --window-with-profile=cyan && gnome-terminal --window-with-profile=grey && gnome-terminal --window-with-profile=orange && gnome-terminal --window-with-profile=white && gnome-terminal --window-with-profile=yellow && gnome-terminal --window-with-profile=ablack    
Run Code Online (Sandbox Code Playgroud)

我试图用这个 cmd 打开一个带有多个选项卡的窗口,但没有成功:

gnome-terminal --window-with-profile=ablack && gnome-terminal --tab-with-profile=agreeen && gnome-terminal --tab-with-profile=aubergine && gnome-terminal --tab-with-profile=beige && gnome-terminal --tab-with-profile=cyan && gnome-terminal --tab-with-profile=grey && gnome-terminal --tab-with-profile=orange && gnome-terminal --tab-with-profile=white && gnome-terminal --tab-with-profile=yellow && gnome-terminal --tab-with-profile=ablack   
Run Code Online (Sandbox Code Playgroud)

如何使它工作?

configuration command-line gnome-terminal tabs 16.04

3
推荐指数
1
解决办法
3337
查看次数

如何使用cron每小时在bash中启动交互式shell脚本?

我把这一行放在 crontab 中:

1 * * * * DISPLAY=:0.0 /usr/bin/gnome-terminal -e /home/user/Desktop/mltpl
Run Code Online (Sandbox Code Playgroud)

该脚本是可执行的。

如果将该命令粘贴到终端中——即没有星号的字符串,它可以完美运行:

DISPLAY=:0.0 /usr/bin/gnome-terminal -e /home/user/Desktop/mltpl
Run Code Online (Sandbox Code Playgroud)

我试过:

sudo service cron restart
Run Code Online (Sandbox Code Playgroud)

但问题仍然存在。我怎样才能cron每小时运行该命令?


更新。让它与 ROOT crontab 一起工作:

1 * * * * DISPLAY=:0 XDG_RUNTIME_DIR=/run/user/1000 XAUTHORITY=/home/user/.Xauthority /usr/bin/gnome-terminal -e /home/user/Desktop/mltpl
Run Code Online (Sandbox Code Playgroud)

xorg bash cron

2
推荐指数
1
解决办法
3302
查看次数