我想将 steam 设置为自动运行,优先级高于默认优先级,这需要使用 nice 启动它。但要设置低于 0 的优先级,我必须是 root。问题是 steam 不喜欢以 root 身份启动,因此如果我执行 sudo nice -n -1 steam 之类的操作,它会说无法以 root 身份启动。此外,如果我使用 sudo -u myusername nice -n -1 steam,nice 会抱怨它没有设置该优先级的权限。
我使用 visudo 授予 myuser 无需密码运行 sudo nice 的权限,但这是徒劳的。
我知道这个问题肯定在其他地方得到解答,但我不知道如何搜索......这是一个相当具体的问题。
提前致谢
编辑:在我启动 steam 之后使用 renice 是行不通的,因为子进程(游戏)不会以这种方式从父进程继承 nice 值
答案1
steam 论坛上的一些人建议启动 screen,重新设置屏幕大小,然后在其控制下运行 steam。这对你有用吗?
答案2
我相信你只需要重新安排你已经拥有的部分:成为 root,然后输入
nice -n -1 sudo -u
您的用户名steam
[编辑]
或
nice -n -1 su
您的用户名-c steam
你的想法是
- 获得特权,
- 将优先级设置为高于默认值(数值低于 0),这需要特权,
- 使用
sudo
或su
恢复到您的正常(非特权)身份(但希望保留您在上一步中设置的优先级),然后 - 运行(
steam
)命令,具有提升的优先级,但没有提升的权限。