[LCD4Linux] Paquet indisponible (résolu)

Questions et astuces concernant l'installation et la configuration d'archlinux
Répondre
wild dagger
Hankyu
Messages : 25
Inscription : mer. 25 juin 2014, 16:59

[LCD4Linux] Paquet indisponible (résolu)

Message par wild dagger »

Bonjour,

Très content d'installer à la main mon nouveau serveur sous Archlinux je voudrais profiter de mon écran LCD (http://www.lcdmodkit.com/lcd/LKC-4002-B2.html) qui fonctionne avec LCD2USB.

Mais ...

Rien dans le wiki (FR)
Rien dans pacman
Rien dans AUR ....

Quelqu'un pourrait il me donner la procédure pour installer le démon s'il vous plaît

https://lcd4linux.bulix.org/wiki/Download
Dernière modification par wild dagger le ven. 06 nov. 2015, 16:55, modifié 1 fois.
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17580
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [LCD4Linux] Paquet indisponible

Message par benjarobin »

Zsh | KDE | PC fixe : AMD Ryzen 9900X, Radeon RX 7700 XT
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
wild dagger
Hankyu
Messages : 25
Inscription : mer. 25 juin 2014, 16:59

Re: [LCD4Linux] Paquet indisponible

Message par wild dagger »

Bonjour benjarobin,

merci pour ta réponse si rapide mais une fois sorti de yaourt et pacman je t'avouerais que je ne suis pas très expert pour la compilation. J'ai tenté hier soir de compiler avec makepkg (en mode non root) mais je pense qu'il manque des dépendances.

J'ai détecté qu'il fallait les paquets :

- subversion
- python2

mais une fois

Code : Tout sélectionner

makepkg -i
fait, je n'arrive pas :

- à le faire fonctionner (je pense que ça vient du fichier de configuration)
- à le mettre en service avec systemctl

Code : Tout sélectionner

systemctl enable lcd4linux
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17580
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [LCD4Linux] Paquet indisponible

Message par benjarobin »

Je n'avais pas dit qu'en l'état c'était utilisable... Il y a surement un peu de travail dessus... Mais c'est une bonne base de départ pour le faire fonctionner. Il n'y a pas de service systemd de fournit dans l'installation/le paquet, donc c'est normal que tu ne puisses pas l'activer

Mais en gros qu'est ce que tu as essayé de faire, comment l'as tu lancé ?
Zsh | KDE | PC fixe : AMD Ryzen 9900X, Radeon RX 7700 XT
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
wild dagger
Hankyu
Messages : 25
Inscription : mer. 25 juin 2014, 16:59

Re: [LCD4Linux] Paquet indisponible

Message par wild dagger »

benjarobin a écrit :Mais en gros qu'est ce que tu as essayé de faire, comment l'as tu lancé ?
1- Et bien j'ai téléchargé l'archive dans le lien que tu as donné (https://github.com/aur-archive/lcd4linu ... master.zip) puis décompressé depuis mon pc d'administration sous gnome 3
2- Le dossier décompressé je l'ai placé dans le home de 'toto' sur mon serveur (via sftp avec nautilus)
3- En console SSH sur mon serveur avec le compte 'toto', je me suis placé dans le dossier copié en point 2
4-

Code : Tout sélectionner

makepkg
4.1 - Là il m'insulte avec des dépendances manquantes ('subversion' , 'python2' et une autre dont je ne me souviens plus 'libquelquechose') et j'ai relancé la commande 'makepkg'
5- là, plus d'insultes, donc j'utilise la commande

Code : Tout sélectionner

makepkg -i
pour l'installation
6- ... la commande lcd4linux m'indique qu'elle ne peut pas démarrer (problème de configuration)

Pour le moment je n'ai plus accès à mon serveur car je suis en pleine opération de maintenance (merci scp) mais je reviendrais plus tard avec le message d'erreur exact renvoyé à l'exécution de lcd4linux.

(merci encore pour ton aide en tous cas :chinois: )
wild dagger
Hankyu
Messages : 25
Inscription : mer. 25 juin 2014, 16:59

Re: [LCD4Linux] Paquet indisponible

Message par wild dagger »

security error: owner and/or group of '/etc/lcd4linux.conf' don't match
Error reading configuration. Exit!
Bon ... j'ai fais mon débutant, (à force de travailler en root ces derniers temps), c'est plutôt :
sudo lcd4linux
pour tester sa configuration et le fonctionnement ....

une fois la configuration faite avec le bon drivers (en l’occurrence LCD2USB) dans '/etc/lcd4linux.conf'.

Code : Tout sélectionner

   #  $Id$ U402MB-B1
   #  $URL$ https://lcd4linux.bulix.org/
 
   Display U402MB-B1 {
   Driver 'LCD2USB'
   Size '40x2'
   Contrast '192'
   Brightness '44'
   Icons '1'
   }
 
   Display XWindow_U402MB-B1 {
   Driver 'X11'
   Size   '200x16'
   Font   '5x8'
   Pixel  '4+1'
   Gap    '-1x-1'
   Border 10
   Foreground 'ffffff'
   Background '00000022'
   Basecolor  '0078ff'
   }
 
   Widget OS {
    class 'Text'
    expression '*** '.uname('sysname').' '.uname('release').' ***'
    width 20
    align 'M'
    style 'bold'
    speed 250	
    update tick
    }   
 
   Widget ImageTest {
    class 'Image'
    file 'tux.png'
    update 1000
    visible 1
    inverted 0
    }
 
   Layout TestLayer {
    Row1 {
	Col1  'OS'
    }
    Layer 2 {
	X1.Y1 'ImageTest'
    }
}
 
 
   Display 'U402MB-B1'
   #Display 'XWindow_U402MB-B1'
   Layout 'TestLayer'
Donc, ça fonctionne , reste que j'aimerais bien que ce soit géré par systemctl

J'avais lu que sous Ubuntu ou Debian on devait créer un fichier '/etc/init.d/lcd4linux'
#! /bin/sh
#
# lcd4linux
#
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin
DAEMON=/usr/local/bin/lcd4linux
NAME=lcd4linux
DESC=lcd4linux
test -f $DAEMON || exit 0
set -e
case "$1" in
start)
echo -n "Starting $DESC: "
start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid --exec $DAEMON
echo "$NAME."
;;
stop)
echo -n "Stopping $DESC: "
start-stop-daemon --oknodo --stop --quiet --pidfile /var/run/$NAME.pid --exec $DAEMON
echo "$NAME."
;;
reload)
start-stop-daemon --stop --signal 1 --quiet --pidfile /var/run/$NAME.pid --exec $DAEMON
;;
restart|force-reload)
echo -n "Restarting $DESC: "
start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid --exec $DAEMON
sleep 1
start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid --exec $DAEMON
echo "$NAME."
;;
*)
N=/etc/init.d/$NAME
echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
exit 1
;;
esac
exit 0
Comment faire la même chose dans '/etc/systemd/system' ?
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17580
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [LCD4Linux] Paquet indisponible

Message par benjarobin »

Un truc de ce genre devrait faire l'affaire : /etc/systemd/system/lcd4linux.service

Code : Tout sélectionner

[Unit]
Description=LCD4Linux

[Service]
Type=simple
ExecStart=/usr/bin/lcd4linux

[Install]
WantedBy=multi-user.target
Zsh | KDE | PC fixe : AMD Ryzen 9900X, Radeon RX 7700 XT
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
wild dagger
Hankyu
Messages : 25
Inscription : mer. 25 juin 2014, 16:59

Re: [LCD4Linux] Paquet indisponible

Message par wild dagger »

Code : Tout sélectionner

# systemctl -t service -a --full | grep lcd4linux
lcd4linux.service loaded inactive dead LCD4Linux

Code : Tout sélectionner

# systemctl status lcd4linux
● lcd4linux.service - LCD4Linux
Loaded: loaded (/etc/systemd/system/lcd4linux.service; enabled; vendor preset: disabled)
Active: inactive (dead) since jeu. 2015-11-05 23:25:53 CET; 12min ago
Process: 506 ExecStart=/bin/lcd4linux (code=exited, status=0/SUCCESS)
Main PID: 506 (code=exited, status=0/SUCCESS)

nov. 05 23:25:53 machinetoto systemd[1]: Started LCD4Linux.
Amusant, je crois que l'initialisation de l'écran LCD n'a pas le temps de se faire. Est-il possible de lancer ce 'service' en dernier ou de relancer le service en cas d'échec ? (concrètement l'écran LCD Freeze)
wild dagger
Hankyu
Messages : 25
Inscription : mer. 25 juin 2014, 16:59

Re: [LCD4Linux] Paquet indisponible

Message par wild dagger »

--> http://www.freedesktop.org/software/sys ... rvice.html

Code : Tout sélectionner

# nano /etc/systemd/system/lcd4linux.service

Code : Tout sélectionner


[Unit]
Description=LCD4linux

[Service]
ExecStart=/bin/lcd4linux
#ExecReload=/bin/kill -HUP $MAINPID
StartLimitInterval=0
KillMode=process
#Restart=always

[Install]
WantedBy=multi-user.target

Code : Tout sélectionner

# systemctl status lcd4linux
lcd4linux.service - LCD4linux
Loaded: loaded (/etc/systemd/system/lcd4linux.service; enabled; vendor preset: disabled)
Active: active (running) since ven. 2015-11-06 01:46:01 CET; 10ms ago
Main PID: 1187 (lcd4linux)
CGroup: /system.slice/lcd4linux.service
├─ 313 /bin/lcd4linux
└─1187 /bin/lcd4linux

nov. 06 01:46:01 machinetoto systemd[1]: Stopped LCD4linux.
nov. 06 01:46:01 machinetoto systemd[1]: Started LCD4linux.

J'ai désactivé StartLimitInterval et 'start' ça fonctionne, merci benjarobin pour ton inspiration :kimouss:

Reste plus qu'à trouver la commande qui va bien pour 'stop' ou 'reload'
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17580
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [LCD4Linux] Paquet indisponible

Message par benjarobin »

Pour le Reload il y a de forte chance que tu ai donné la bonne solution (tu l'as mit en commentaire).
Pour le stop il n'y a rien à faire que je sache.
Sinon normalement KillMode=process est inutile à spécifier. Et finalement mettre StartLimitInterval=0 est un peu bourrin.
Tu peux dire de le lancer après un autre service, par exemple graphical.target
Zsh | KDE | PC fixe : AMD Ryzen 9900X, Radeon RX 7700 XT
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17580
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [LCD4Linux] Paquet indisponible

Message par benjarobin »

En résumé tu as 2 solutions plus ou moins équivalente :

J'avais oublié une option très importante -F

Code : Tout sélectionner

[Unit]
Description=LCD4Linux

[Service]
Type=simple
ExecStart=/usr/bin/lcd4linux -F
ExecReload=/usr/bin/kill -HUP $MAINPID

[Install]
WantedBy=multi-user.target
Sinon tu peux faire les choses de cette façon :

Code : Tout sélectionner

[Unit]
Description=LCD4Linux

[Service]
Type=forking
ExecStart=/usr/bin/lcd4linux
PIDFile=/var/run/lcd4linux.pid
ExecReload=/usr/bin/kill -HUP $MAINPID

[Install]
WantedBy=multi-user.target
Zsh | KDE | PC fixe : AMD Ryzen 9900X, Radeon RX 7700 XT
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
wild dagger
Hankyu
Messages : 25
Inscription : mer. 25 juin 2014, 16:59

Re: [LCD4Linux] Paquet indisponible

Message par wild dagger »

benjarobin a écrit : J'avais oublié une option très importante -F

Code : Tout sélectionner

nano /etc/systemd/system/lcd4linux.service

Code : Tout sélectionner

[Unit]
Description=LCD4Linux

[Service]
Type=simple
ExecStart=/usr/bin/lcd4linux -F
ExecReload=/usr/bin/kill -HUP $MAINPID

[Install]
WantedBy=multi-user.target

Code : Tout sélectionner

systemctl enable lcd4linux

Code : Tout sélectionner

systemctl start lcd4linux
Cette solution fonctionne parfaitement :

Code : Tout sélectionner

# systemctl status lcd4linux
lcd4linux.service - LCD4Linux
Loaded: loaded (/etc/systemd/system/lcd4linux.service; enabled; vendor preset: disabled)
Active: active (running) since ven. 2015-11-06 16:41:22 CET; 2min 27s ago
Main PID: 287 (lcd4linux)
CGroup: /system.slice/lcd4linux.service
└─287 /usr/bin/lcd4linux -F

nov. 06 16:41:32 machinetoto lcd4linux[287]: unable to compact bar characters
nov. 06 16:41:32 machinetoto lcd4linux[287]: nSegment=8 fSegment=2 CHARS=8 ICONS=3
nov. 06 16:41:32 machinetoto lcd4linux[287]: Segment[0].val1=0 val2=0
nov. 06 16:41:32 machinetoto lcd4linux[287]: Segment[1].val1=255 val2=255
nov. 06 16:41:32 machinetoto lcd4linux[287]: Segment[2].val1=0 val2=0
nov. 06 16:41:35 machinetoto lcd4linux[287]: unable to compact bar characters
nov. 06 16:41:35 machinetoto lcd4linux[287]: nSegment=8 fSegment=2 CHARS=8 ICONS=3
nov. 06 16:41:35 machinetoto lcd4linux[287]: Segment[0].val1=0 val2=0
nov. 06 16:41:35 machinetoto lcd4linux[287]: Segment[1].val1=255 val2=255
nov. 06 16:41:35 machinetoto lcd4linux[287]: Segment[2].val1=0 val2=0
Merci benjarobin :chinois:
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17580
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [LCD4Linux] Paquet indisponible (résolu)

Message par benjarobin »

Ce serait bien de créer un paquet et de le mettre sur AUR. Je pourrais le faire, mais comme je n'ai rien pour tester...
Pour un paquet le fichier de service se place ici /usr/lib/systemd/system/lcd4linux.service
Zsh | KDE | PC fixe : AMD Ryzen 9900X, Radeon RX 7700 XT
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
wild dagger
Hankyu
Messages : 25
Inscription : mer. 25 juin 2014, 16:59

Re: [LCD4Linux] Paquet indisponible (résolu)

Message par wild dagger »

Et moi comme je n'y connais rien en compilation (et encore moins comment placer un paquet sur AUR) ... :D

Concrètement comme tu as pu le voir dans ce sujet la compilation se base sur ton lien et je n'ai pas rencontré de problème particulier (mis à part les dépendances). Le fichier lcd4linux.service fonctionne donc .... what else ?
Répondre