我制作了一个脚本,当我正在阅读漫画的新章节时,它会通知我。我使用命令 notify-send 来做到这一点。当我尝试在终端中运行该程序时,该程序有效。通知显示。但是,当我把它放在我的 crontab 中时,通知没有显示。我很确定该程序正在运行,因为我为我创建了一个文件。文件已创建,但未显示通知。
这是我的脚本
#!/bin/bash
#One Piece Manga reminder
#I created a file named .newop that contains the latest chapter.
let new=$(cat ~/.newop)
wget --read-timeout=30 -t20 -O .opreminder.txt http://www.mangareader.net/103/one-piece.html
if (( $(cat .opreminder.txt | grep "One Piece $new" | wc -l) >=1 ))
then
(( new+=1 ))
echo $new
echo $new > ~/.newop
notify-send "A new chapter of One Piece was released."
else
notify-send "No new chapter for One Piece."
notify-send "The latest chapter is still $new."
fi …Run Code Online (Sandbox Code Playgroud) 我试图以/proc/*PID*/environ更易读的格式获取任何文件的内容。我可以按照下面显示的方式做到这一点,但我确信这不是正确的方式。
$ cat "/proc/$(pgrep gnome-session -n -U $UID)/environ"
USER=spasTEXTDOMAIN=im-configXDG_SEAT=seat0XDG_SESSION_TYPE=waylandSHLVL=1QT4_IM_MODULE=ximHOME=/home/spasDESKTOP_SESSION=ubuntuGNOME_SHELL_SESSION_MODE=ubuntuDBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/busIM_CONFIG_PHASE=2LOGNAME=spasGTK_IM_MODULE=ibusJOURNAL_STREAM=9:147845_=/usr/bin/gnome-sessionUSERNAME=spasXDG_SESSION_ID=70PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/binXDG_RUNTIME_DIR=/run/user/1000LANG=en_US.UTF-8XDG_CURRENT_DESKTOP=ubuntu:GNOMEXDG_SESSION_DESKTOP=ubuntuXMODIFIERS=@im=ibusSHELL=/bin/bashGDMSESSION=ubuntuTEXTDOMAINDIR=/usr/share/locale/XDG_VTNR=2QT_IM_MODULE=ximPWD=/home/spasCLUTTER_IM_MODULE=ximXDG_DATA_DIRS=/usr/share/ubuntu:/usr/local/share:/usr/share:/var/lib/snapd/desktopXDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/etc/xdg
Run Code Online (Sandbox Code Playgroud)
$ cat -e "/proc/$(pgrep gnome-session -n -U $UID)/environ"
USER=spas^@TEXTDOMAIN=im-config^@XDG_SEAT=seat0^@XDG_SESSION_TYPE=wayland^@SHLVL=1^@QT4_IM_MODULE=xim^@HOME=/home/spas^@DESKTOP_SESSION=ubuntu^@GNOME_SHELL_SESSION_MODE=ubuntu^@DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus^@IM_CONFIG_PHASE=2^@LOGNAME=spas^@GTK_IM_MODULE=ibus^@JOURNAL_STREAM=9:147845^@_=/usr/bin/gnome-session^@USERNAME=spas^@XDG_SESSION_ID=70^@PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin^@XDG_RUNTIME_DIR=/run/user/1000^@LANG=en_US.UTF-8^@XDG_CURRENT_DESKTOP=ubuntu:GNOME^@XDG_SESSION_DESKTOP=ubuntu^@XMODIFIERS=@im=ibus^@SHELL=/bin/bash^@GDMSESSION=ubuntu^@TEXTDOMAINDIR=/usr/share/locale/^@XDG_VTNR=2^@QT_IM_MODULE=xim^@PWD=/home/spas^@CLUTTER_IM_MODULE=xim^@XDG_DATA_DIRS=/usr/share/ubuntu:/usr/local/share:/usr/share:/var/lib/snapd/desktop^@XDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/etc/xdg^@
Run Code Online (Sandbox Code Playgroud)
$ cat -e "/proc/$(pgrep gnome-session -n -U $UID)/environ" | sed 's/\^@/\n/g'
USER=spas
TEXTDOMAIN=im-config
XDG_SEAT=seat0
XDG_SESSION_TYPE=wayland
...
Run Code Online (Sandbox Code Playgroud)
也许我必须为 分配一个特定的值$IFS,但它是什么?达到上述结果的正确方法是什么?
我正在安装 ubuntu 16.04 unity 最新更新,我拥有市场上最好的华硕游戏笔记本电脑之一,安装了 VLC,但我从未使用过它。
在过去的几个月里,我无法关闭我的电脑,每次我尝试这样做时,风扇开始旋转得如此之快,然后它就挂了,所以我只需按一下关机按钮,这个问题只出现在关机时,不重启我什至懒得去尝试解决问题。
今天,在我工作的时候,我注意到粉丝们在做他们通常在关闭时做的事情。我top注意到有 2 个 vlc 实例在我的用户名下运行,每个实例消耗 122% 的 cpu,尽管我再次不使用 vlc,而且我没有使用任何依赖 vlc 的程序。
我试图sudo kill <pid>和sudo killall <pid>和sudo killall vlc,但他们仍然没有死亡,那以前从未发生在我身上。我从 Ubuntu 资源监视器中杀死了它们,它们被杀死并修复了关闭问题,一切都恢复了正常。
以前有人遇到过这种情况吗?
我有一个通过 cron 运行的脚本来更改桌面墙纸。我可以通过导出 DISPLAY 变量来让它工作。
但是我担心脚本应该适用于所有系统的问题。如何在不使用 $DISPLAY 的情况下找到 X 服务器设置的 DISPLAY 值?
那么我怎样才能以DISPLAY编程方式找到正确的值。我只能在DISPLAY=:1. 将其设置为":0"使脚本退出
No protocol specified
Cannot open display.
Run Code Online (Sandbox Code Playgroud) 编辑感谢 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) 我是 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 工作。
我在做什么?
cron ×4
bash ×3
scripts ×2
16.04 ×1
brightness ×1
command-line ×1
mate ×1
notify-send ×1
proc ×1
process ×1
python ×1
unity ×1
vlc ×1
xorg ×1
xrandr ×1