我安装psensor
在通过 RDP 访问的服务器上。
问题是psensor
需要读取硬盘 SMART 状态的权限,我安装了大约 10 个硬盘。
为了避免输入 root 密码 10 次,我运行了sudo
,但这不起作用,因为 Xlib 无法打开显示屏。
如何允许 psensor 作为非 sudo 用户以更高级别的权限运行?
#更新:
这是例如
/dev/sda: brw-rw---- 1 root disk 8, 0 Sep 28 20:35 /dev/sda
(看评论)
答案1
您只需完成适当的身份验证即可。默认情况下,sudo
从环境中删除所有非必要变量并将其设置HOME
为目标用户,但在这种情况下,您需要恢复其中一两个:
sudo HOME="$HOME" psensor …
如果这还不够,试试这个
sudo HOME="$HOME" DISPLAY="$DISPLAY" psensor …
请注意,这将允许root
写入您的主目录,就好像它是它自己的目录一样。有时,这会导致您自己的目录中出现 root 拥有的文件(或更糟糕的是,目录),您无法直接访问或删除这些文件。如果这不可接受,请尝试以下更冗长的替代方案之一
sudo bash -c "cp -p $HOME/.Xauthority ~ && psensor …"
sudo DISPLAY="$DISPLAY" bash -c "cp -p $HOME/.Xauthority ~ && psensor …"