web-dev-qa-db-fra.com

Comment exécuter le lecteur VLC en root

J'ai installé un vlc dans centos 6.5. Je veux l'exécuter en tant que root. Mais je reçois l'erreur suivante,

"VLC n'est pas censé être exécuté en tant que root. Désolé. Si vous devez utiliser des priorités en temps réel et/ou des ports privilégiés TCP, vous pouvez utiliser vlc-wrapper (assurez-vous qu'il est défini sur Racine UID et ne peut pas être exécuté par des utilisateurs non approuvés en premier). "

25
shanmugam2138

C'est ce qui a fonctionné pour moi. Aucune compilation requise.

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

Utilisation du lecteur multimédia VLC 2.0. Twoflower sur un Raspberry Pi.

Explication: Le script d'initialisation vérifie si l'UID est égal à zéro. Zero est réservé à l'utilisateur root. Utiliser sed pour remplacer geteuid pour getppid trompe le script d'initialisation car il est toujours > 0.

Bien que l'exécution de VLC en tant que root ne soit pas recommandée, cela fonctionne. Soyez conscient des risques et évitez de le faire pour les environnements de production.

58
rodvlopes

Une solution consiste à recompiler. Passe le --enable-run-as-root drapeau à ./configure et vlc devraient pouvoir s'exécuter en tant que root. La réponse ci-dessus est de ici .

17
Ramesh

Voir http://www.linuxintro.org/wiki/Run_vlc_as_root :

  • sauvegarder le binaire VLC:

    # cp /usr/bin/vlc /usr/bin/vlc-backup
    
  • trouver l'appel à geteuid à l'intérieur du binaire VLC:

    # needle=$(objdump -d /usr/bin/vlc | grep euid | tail -1 | awk '{print "\\x"$2"\\x"$3"\\x"$4"\\x"$5"\\x"$6;}')
    
  • remplacer l'appel pour livrer simplement 01:

    # sed -ir "s/$needle/\xb8\x01\x00\x00\x00/" /usr/bin/vlc
    
  • essaye-le

VLC devrait maintenant fonctionner sous l'utilisateur root!

2
Thorsten Staerk

Vous pourrez exécuter VLC en tant que root en modifiant le binaire VLC, situé dans /usr/bin

Tout d'abord, vous aurez besoin d'un éditeur hexadécimal, comme Bless:

Sudo apt-get install bless

Ensuite, vous ouvrirez le binaire VLC avec l'éditeur hexadécimal:

Sudo bless /usr/bin/vlc

Recherchez et modifiez la chaîne geteuid par getppid, enregistrez et quittez.

Vous pouvez maintenant lancer VLC en tant que root.

1

Kevin dans les commentaires de la question a suggéré d'utiliser vlc-wrapper. J'ai eu du mal à savoir comment l'utiliser, je vais donc décrire comment je l'ai fait fonctionner:

vous devez définir votre utilisateur non privilégié dans Sudo_UID: export Sudo_UID = 1000

si vous n'avez pas d'utilisateur pour exécuter vlc en créer un:

useradd -g users vlc
# this will show you the uid of vlc user
id -u vlc

si vous voulez que la variable Sudo_UID soit permanente, ajoutez-la à bashrc:

echo "export Sudo_UID=1000" >> /root/.bashrc

attention à ne pas écrire single> au lieu de >>

puis utilisez vlc-wrapper au lieu de vlc

1
NickSoft

VLC n'est pas censé être exécuté en tant que root. Désolé. - Solution

Quoi qu'il en soit, j'ai installé vlc en utilisant la commande suivante;

# aptitude install vlc

Et j'ai essayé d'exécuter vlc en tant que root, j'ai eu une erreur sur mon terminal;

# vlc

VLC n'est pas censé être exécuté en tant que root. Désolé.

Si vous devez utiliser des priorités en temps réel et/ou des ports privilégiés TCP

vous pouvez utiliser vlc-wrapper (assurez-vous qu'il s'agit de la racine Set-UID et

ne peut pas être exécuté par des utilisateurs non approuvés en premier).

Cette erreur indique que vlc simple ne peut pas être exécuté en tant qu'utilisateur privilégié root. Que faire maintenant? Ne paniquez pas. Voici la solution piratée ????

# vi /usr/bin/vlc

recherchez geteuid et remplacez-le par getppid

Enregistrer le fichier et quitter.

Maintenant ça devrait marcher, essayez de le relancer ????

o

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

Aller à main menu trouver vlc et définir la propriété comme:

gksu -u vlc

ou simplement de type terminal

gksu -u <username(no root)> vlc

Par exemple, si vous avez abc utilisateur, votre commande sera:

gksu -u abc vlc
0
ajitmac