Centos 6.5にvlcをインストールしました。ルートとして実行したいです。ただし、次のエラーが発生します。
「VLCはrootとして実行してはいけません。申し訳ありません。リアルタイム優先順位および/または特権TCPポートを使用する必要がある場合は、vlc-wrapperを使用できます。ユーザー)それは価値があります。 )。
答え1
これは私にとって効果的です。コンパイルする必要はありません。
sed -i 's/geteuid/getppid/' /usr/bin/vlc
VLCメディアプレーヤーの使用2.0.3ラズベリーパイのツフラワー。
説明する:
初期化スクリプトは、UIDが0であることを確認します。 0はrootユーザー用に予約されています。sed
置換を使用すると、常にそのように初期化スクリプトをだましますgeteuid
。getppid
> 0
VLCをrootとして実行することはお勧めできませんが、機能します。リスクを認識し、本番環境ではこれを実行しないでください。
Freebsd やその他のトリッキーな unices と macos の場合は、正しい完全な構文を使用してください。
sed -i '' 's/geteuid/getppid/' /usr/local/bin/vlc
答え2
この問題を解決する1つの方法は、再コンパイルすることです。フラグをvlc--enable-run-as-root
に渡すと、./configure
rootとして実行できます。上記の回答は次のとおりです。ここ。
答え3
バラよりvlcをrootとして実行する - 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バイナリを変更して、ルートとしてVLCを実行できます。/usr/bin
まず、Blessなどの16進エディタが必要です。
sudo apt-get install bless
次に、16進エディタを使用してVLCバイナリを開きます。
sudo bless /usr/bin/vlc
geteuid
[検索]をクリックして文字列を変更し、getppid
保存して終了します。
これで、root で VLC を起動できます。