我正在尝试使用 Vlc 和 sudo,但它不起作用。
这是错误:
VLC is not supposed to be run as root. Sorry.
If you need to use real-time priorities and/or privileged TCP ports
you can use vlc-wrapper (make sure it is Set-UID root and
cannot be run by non-trusted users first).
你能帮我吗?
编辑:阅读评论后我添加了一个理由。
我只想说一个理由:我正在使用 mac + ubuntu我的电影收藏在 Mac 启动盘中。它在 Ubuntu 中显示为只读(我不知道为什么)我无法对文件运行 chmod。我可以使用 nautilus 和 sudo 访问电影、文档文件。但要播放这些文件,我需要使用 VLC 和 sudo。我认为这是一个很好的理由。
答案1
您可以通过修改位于的 VLC 二进制文件以 root 身份运行 VLC/usr/bin
首先,你需要一个十六进制编辑器,例如 Bless :
sudo apt-get install bless
然后,使用十六进制编辑器打开 VLC 二进制文件:
sudo bless /usr/bin/vlc
geteuid
通过搜索并更改字符串getppid
,保存并退出。
您现在可以以 root 身份启动 VLC。
答案2
Sudo 是你的朋友,它可以保护你。如果你真的不想输入密码,也不关心安全性,那么你应该看看ssh-agent
。它可以保存你的密码,因此你每次会话只需要输入一次密码。
答案3
您确实不应该一直以 root 身份登录。故事结束。许多程序和应用程序会检测到这种情况并拒绝运行,因为这是不好的做法。
如果您必须以 root 身份运行的唯一原因是避免在运行可能损坏系统的命令时输入密码(也是为了保护您),那么您可以简单地将 sudo 配置为不需要一直输入密码。
在运行某些命令之前您仍需要输入“sudo”,但它不会要求输入密码。
默认情况下您应该已经在该sudo
组中,因此只需执行以下操作:
visudo
然后寻找这一行:
%sudo ALL=(ALL:ALL) ALL
更改为:
%sudo ALL=(ALL) NOPASSWD: ALL
然后保存文件并退出。这样它就不会每次都询问你的密码了。
答案4
以下对我有用:
sed -i 's/geteuid/getppid/' /usr/bin/vlc
感谢@rodvlopes:https://unix.stackexchange.com/a/199422