如何在 root 中运行 VLC 播放器

如何在 root 中运行 VLC 播放器

我在centos 6.5上安装了vlc。我想以 root 身份运行它。但我收到以下错误,

“VL​​C 不应该以 root 身份运行。抱歉。如果您需要使用实时优先级和/或特权 TCP 端口,您可以使用 vlc-wrapper(确保它是 Set-UID root 并且不能由非用户运行)值得信赖的用户优先)。”

答案1

这对我有用。无需编译。

sed -i 's/geteuid/getppid/' /usr/bin/vlc

使用VLC媒体播放器2.0.3Raspberry Pi 上的 Twoflower。

解释: 初始化脚本检查 UID 是否等于 0。零是为 root 用户保留的。使用sed替换geteuidgetppid愚弄初始化脚本,因为它始终是> 0.

虽然不建议以 root 身份运行 VLC,但它是有效的。请注意风险,显然不要在生产环境中这样做。

对于 Freebsd 和其他挑剔的 unices 和 macos,请使用正确的完整语法:

sed -i '' 's/geteuid/getppid/' /usr/local/bin/vlc

答案2

解决这个问题的一种方法是重新编译。将标志传递--enable-run-as-root./configurevlc 应该能够以 root 身份运行。以上答案来自这里

答案3

以 root 身份运行 vlc - LinuxIntro:

  • 备份 VLC 二进制文件:

     # cp /usr/bin/vlc /usr/bin/vlc-backup
    
  • geteuid找到对VLC 二进制文件内部的调用:

     # needle=$(objdump -d /usr/bin/vlc | grep euid | tail -1 | awk '{print "\\x"$2"\\x"$3"\\x"$4"\\x"$5"\\x"$6;}')
    
  • 将呼叫替换为仅交付01

     # sed -ir "s/$needle/\xb8\x01\x00\x00\x00/" /usr/bin/vlc
    
  • 测试一下

VLC 现在应该在 root 用户下运行!

答案4

您将能够通过修改 VLC 二进制文件以 root 身份运行 VLC,该二进制文件位于/usr/bin

首先,你需要一个十六进制编辑器,比如 Bless:

sudo apt-get install bless

然后,您将使用十六进制编辑器打开 VLC 二进制文件:

sudo bless /usr/bin/vlc

geteuid按搜索并更改字符串getppid,保存并退出。

您现在可以以 root 身份启动 VLC。

相关内容