Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 22-03-2016 13:26:06

sogal
Black Metal Modo
Distrib. : Debian Testing
Noyau : 4.7
(G)UI : Gnome
Inscription : 09-05-2013
Site Web

[RESOLU] IRSSI : Erreur script osd.pl

Bonjour,

J'utilise irssi en tant que client IRC, j'en suis très content mais j'aurais aimé avoir des notifications utilisant osd_cat (du paquet xosd-bin, un simple affichage à l'écran que j'utilise déjà avec succès avec mcabber).

Le script est écrit en Perl et date un peu (2004). Toutes ses dépendances (osd_cat évidemment et libio-handler-util-perl) sont installées.
Le script a été installé via le paquet irssi-scripts et est présent dans /usr/share/irssi/scripts.
Ses droits sont (ceux par défaut) :

ls -al /usr/share/irssi/scripts/osd.pl



-rw-r--r-- 1 root root 9849 mars  22 12:05 /usr/share/irssi/scripts/osd.pl



Les droits de osd_cat sont normaux :

ls -al /usr/bin/osd_cat



-rwxr-xr-x 1 root root 15824 févr. 16  2014 /usr/bin/osd_cat



Lorsque je lance irssi et tente de charger le script j'ai une erreur présente :

"The OSD program can't be started, check if you have osd_cat installed AND in your path."


Évidemment osd_cat est bien dans mon path et parfaitement fonctionnel. Les options employées par irssi semblent correctes et ne devraient de toutes façons pas justifier une erreur de permission, à la limite un code de retour d'erreur.

J'ai viré la levée de cette erreur (j'ai commenté la fin de la ligne 182, cf. code ci-après) pour y voir plus clair dans le code du script et, au chargement du script dans irssi j'ai l'erreur :

sh: 1: osd_cat: Permission denied



Je ne comprends pas du tout pourquoi cette erreur ni comment la résoudre.
Le code Perl du script est disponible ici : https://github.com/irssi/scripts.irssi. … pts/osd.pl

Merci l'aide que vous saurez m'apporter !


Machine perso : Thinkpad x230 Debian Stretch | Machine pro : Thinpad T450 openSUSE Leap 42.2

Hors ligne

#2 22-03-2016 14:28:14

Dunatotatos
Membre
Lieu : Arabie Saoudite
Distrib. : Sid
Noyau : linux-image-amd64
(G)UI : tty
Inscription : 24-04-2012

Re : [RESOLU] IRSSI : Erreur script osd.pl

Comment ajoutes-tu osd_cat dans ton PATH ? Juste en changeant la variable $PATH, ou bien exportes-tu ton PATH ?

Never trust Windows output.

Hors ligne

#3 22-03-2016 14:45:13

sogal
Black Metal Modo
Distrib. : Debian Testing
Noyau : 4.7
(G)UI : Gnome
Inscription : 09-05-2013
Site Web

Re : [RESOLU] IRSSI : Erreur script osd.pl

osd_cat est dans /usr/bin donc pas besoin d'ajuster quoi que ce soit normalement. Je te confirme que /usr/bin/ est dans mon PATH (variable définie dans mon .bashrc).
Je peux lancer ce programme sans problème depuis un terminal sans avoir à spécifier le chemin complet. Et il fonctionne très bien aussi lorsqu'appelé par mcabber.

Pour info, j'ai essayé également, à la ligne 182 du script, de mettre le chemin complet de osd_cat:

$version = `osd_cat -h 2>&1` or die("The OSD program can't be started, check if you have osd_cat installed AND in your path.");


en

$version = `/usr/bin/osd_cat -h 2>&1` or die("The OSD program can't be started, check if you have osd_cat installed AND in your path.");


Mais sans succès.

Actuellement, j'ai désintallé le paquet irssi-scripts en ne conservant que celui là, placé dans ~/.irssi/scripts/ avec un lien vers ~/.irssi/scripts/autorun comme indiqué dans la doc d'irssi.
Je me suis dis que s'il y avait un problème d'accès à /usr/share/irssi/scripts (ça n'aurait pas été normal mais admettons) ça le résoudrait.
Le script ne se charge pas automatiquement et j'ai la même erreur en le lançant à la main dans irssi.

Frustrant. Je ne connais pas le langage de script Perl, mais le code de ce script est quand même assez clair et je ne vois pas où ça merdoie. Il n'est pas extrêmement élaboré, il génère un simple pipe vers osd_cat donc, bien qu'il soit vieux (2004), il devrait toujours fonctionner.

[EDIT] : pour être sûr, j'ai ajouté :

$ENV{'PATH'} = '/usr/bin';


au script et modifié une levée d'erreur pour qu'elle renvoie la valeur du PATH au moment de l'exécution qui bloque et cela me renvoie bien /usr/bin, répertoire contenant osd_cat mad

Dernière modification par sogal (22-03-2016 15:28:06)


Machine perso : Thinkpad x230 Debian Stretch | Machine pro : Thinpad T450 openSUSE Leap 42.2

Hors ligne

#4 22-03-2016 18:13:50

sogal
Black Metal Modo
Distrib. : Debian Testing
Noyau : 4.7
(G)UI : Gnome
Inscription : 09-05-2013
Site Web

Re : [RESOLU] IRSSI : Erreur script osd.pl

Nom de Zeus ! Mais que je suis bête ! Mais c'est bien sûr ! J'ai apparmor actif sur cette machine et irssi était en enforce !
En configurant le PATH comme dans mon edit ci-dessus et en passant irssi en complain seulement, le script se charge correctement et sans erreur ni besoin de bidouiller plus avant ! roll

En tout cas, merci pour ton aide Dunatotatos, ça m'a fait penser à rajouter l'instruction pour le PATH directement dans le script Perl wink

Machine perso : Thinkpad x230 Debian Stretch | Machine pro : Thinpad T450 openSUSE Leap 42.2

Hors ligne

#5 23-03-2016 09:27:14

Dunatotatos
Membre
Lieu : Arabie Saoudite
Distrib. : Sid
Noyau : linux-image-amd64
(G)UI : tty
Inscription : 24-04-2012

Re : [RESOLU] IRSSI : Erreur script osd.pl

Haha, je revenais pour poster un message et dire que je ne comprenais rien au problème, et te demander si par le plus grand des hasard, tu avais SELinux activé.

Bravo wink

Never trust Windows output.

Hors ligne

#6 23-03-2016 09:37:00

sogal
Black Metal Modo
Distrib. : Debian Testing
Noyau : 4.7
(G)UI : Gnome
Inscription : 09-05-2013
Site Web

Re : [RESOLU] IRSSI : Erreur script osd.pl

Héhé, bien vu aussi. Je suis bête, j'aurais du y penser en voyant la permission refusée.
Merci pour ton intérêt !

Machine perso : Thinkpad x230 Debian Stretch | Machine pro : Thinpad T450 openSUSE Leap 42.2

Hors ligne

Pied de page des forums