Page 1 sur 1
[LCD4Linux] Paquet indisponible (résolu)
Publié : mar. 03 nov. 2015, 18:04
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
Re: [LCD4Linux] Paquet indisponible
Publié : mar. 03 nov. 2015, 18:48
par benjarobin
Re: [LCD4Linux] Paquet indisponible
Publié : mer. 04 nov. 2015, 11:43
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
fait, je n'arrive pas :
- à le faire fonctionner (je pense que ça vient du fichier de configuration)
- à le mettre en service avec systemctl
Re: [LCD4Linux] Paquet indisponible
Publié : mer. 04 nov. 2015, 16:24
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é ?
Re: [LCD4Linux] Paquet indisponible
Publié : mer. 04 nov. 2015, 21:16
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-
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
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

)
Re: [LCD4Linux] Paquet indisponible
Publié : jeu. 05 nov. 2015, 19:09
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' ?
Re: [LCD4Linux] Paquet indisponible
Publié : jeu. 05 nov. 2015, 21:45
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
Re: [LCD4Linux] Paquet indisponible
Publié : ven. 06 nov. 2015, 00:50
par wild dagger
lcd4linux.service loaded inactive dead 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)
Re: [LCD4Linux] Paquet indisponible
Publié : ven. 06 nov. 2015, 00:58
par wild dagger
-->
http://www.freedesktop.org/software/sys ... rvice.html
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
● 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
Reste plus qu'à trouver la commande qui va bien pour 'stop' ou 'reload'
Re: [LCD4Linux] Paquet indisponible
Publié : ven. 06 nov. 2015, 09:40
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
Re: [LCD4Linux] Paquet indisponible
Publié : ven. 06 nov. 2015, 09:52
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
Re: [LCD4Linux] Paquet indisponible
Publié : ven. 06 nov. 2015, 16:54
par wild dagger
benjarobin a écrit :
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
Cette solution fonctionne parfaitement :
● 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

Re: [LCD4Linux] Paquet indisponible (résolu)
Publié : ven. 06 nov. 2015, 16:58
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
Re: [LCD4Linux] Paquet indisponible (résolu)
Publié : ven. 06 nov. 2015, 17:10
par wild dagger
Et moi comme je n'y connais rien en compilation (et encore moins comment placer un paquet sur AUR) ...
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 ?