PROJET AUTOBLOG


Blog-Libre

Site original : Blog-Libre

⇐ retour index

systemctl –user

dimanche 15 septembre 2019 à 08:00

La littérature concernant systemctl est assez abondante en revanche pour systemctl --user on frôle le désert, un petit article ?

J’avais le désir de lancer mon émulateur de terminal Tilix au démarrage de ma session et qu’il se relance à chaque fois qu’il est fermé. Je commence à bien toucher les services systemd, systemctl mais là je me suis pris un four.

Le tiercé dans le bon ordre

Comme d’habitude ce n’est pas forcément compliqué, c’est juste qu’il faut le savoir. Pour mettre en place un service utilisateur systemd la difficulté ne se situe pas dans les lignes de commande mais davantage dans le bon ordre/enchaînement des commandes.

mkdir -p ~/.config/systemd/user
nano ~/.config/systemd/user/tilix.service
systemctl --user enable tilix.service # systemctl --user reenable tilix.service
systemctl --user start tilix.service # journalctl --user -u tilix -f

nano ~/.config/systemd/user/tilix.service
systemctl --user daemon-reload; systemctl --user restart tilix # systemctl --user --now enable tilix

Remarquez que nulle part il n’y a de sudo, vous n’avez besoin d’aucun droit root justement parce qu’on met en place un service utilisateur. Un service plus « classique » systemd comme on en met sur les serveurs par exemple aurait donné sudo systemctl enable joli.service.

On commence par créer le dossier qui va accueillir nos services utilisateur mkdir -p ~/.config/systemd/user. On crée/configure notre service nano ~/.config/systemd/user/tilix.service puis on l’active systemctl --user enable tilix.service donc à la prochaine ouverture de session de notre utilisateur, il sera lancé automatiquement. Maintenant on le démarre systemctl --user start tilix.service notamment pour voir si il fonctionne comme on le souhaite. En plus de ces commandes, il vous faudra utiliser journalctl --user -u tilix -f pour consulter les messages de votre service dans le journal et systemctl --user status tilix.service pour connaître l’état de votre service. À retenir aussi la commande systemctl --user reenable tilix.service qui va supprimer les symlinks créés par systemd pour démarrer le service et les recréer (This is a combination of disable and enable and is useful to reset the symlinks a unit file is enabled with to the defaults configured in its « [Install] » section), utile quand on se trompe dans la section [Install] (multi-user.target => default.target par exemple comme nous allons le voir après).

On part du principe que le service ne correspond pas exactement à ce que l’on souhaite (ça arrive souvent), on rentre donc dans une seconde phase, la modification du service et les commandes pour la prendre en compte. On modifie notre service car un truc nous convient pas nano ~/.config/systemd/user/tilix.service. On informe systemd que le service a été modifié et on redémarre le service systemctl --user daemon-reload; systemctl --user restart tilix. À connaître également on active le service à l’ouverture de la session et on le démarre systemctl --user --now enable tilix qui est l’équivalent de deux commandes --user enable et --user start.

tilix.service

La première version de mon service fut celle-ci, cat ~/.config/systemd/user/tilix.service.

[Unit]
Description=Tilix

[Service]
Type=simple
ExecStart=/usr/bin/tilix --minimize
Restart=always

[Install]
WantedBy=multi-user.target

Du très classique sur lequel je vais peu revenir, voir la documentation. Le Restart=always qui relance automatiquement Tilix dès qu’il est fermé, la commande à lancer ExecStart=/usr/bin/tilix --minimize. Dans mon cas je ne veux pas que Tilix ait le focus (soit au premier plan), je le veux minimisé.

La seconde version définitive.

[Unit]
Description=Tilix

[Service]
Type=simple
ExecStart=/usr/bin/tilix --minimize
KillMode=none
Restart=always

[Install]
WantedBy=default.target

J’ai remarqué rapidement que lorsque je fermais Tilix, toutes les applications que j’avais lancé via le terminal (par exemple Firefox ou TeamViewer) étaient fermées immédiatement. Voir KillMode. Autre subtilité/difficulté d’un service utilisateur, les targets ne sont pas les mêmes qu’un service systemd classique. Dans ce dernier vous verrez souvent WantedBy=multi-user.target alors que dans un service utilisateur, il n’y a pas multi-user.target notamment. Comparez systemctl list-units --type target et systemctl --user list-units --type target.

Euh… mais ça marche pas ?

Soudain le drame, Tilix n’est pas lancé à l’ouverture de la session après un redémarrage du pc. J’ai creusé, retourné, testé pensant que mon service Tilix n’était pas bon. L’un des côtés négatifs de mon syndrome de l’imposteur est que je vais passer X heures à chercher mon erreur sans envisager que ça ne vient pas de moi.

Après plusieurs heures de tests et de recherches vaines, j’allais raccrocher, la défaite était lourde. Je me suis souvenu qu’au boulot j’avais ramé deux heures sur un truc qui ne fonctionnait pas, c’était « juste » le script fourni qui était merdique. J’ai fait une recherche et en deux minutes j’ai trouvé le bug… Assez ironiquement il est reporté chez Red Hat depuis 15 jours, chez Ubuntu ça date. Il s’agit d’un bug lié à ECryptFS (partition /home chiffrée), j’ai testé la solution proposée avec /etc/pam.d/common-session mais ça ne fonctionne pas chez moi. J’ai confirmé le bug avec la session de Madame (partition /home non chiffrée), le service Tilix se lance bien à l’ouverture de session.

And voilà. Finalement j’ai ajouté dans l’utilitaire Session et démarrage de XFCE, Démarrage automatique d’application : systemctl --user --now enable tilix en attendant que le bug soit résolu.

Sources :
https://wiki.archlinux.fr/Systemd/utilisateur
https://vic.demuzere.be/articles/using-systemd-user-units/
https://unix.stackexchange.com/questions/385964/launching-chromium-on-startup-with-systemd

Lancer TeamViewer

samedi 14 septembre 2019 à 09:30

J’utilise TeamViewer pour dépanner et me connecter à un poste à distance. Son fonctionnement m’avait cependant dérangé et je m’étais noté de revenir dessus pour corriger ça.

La petite particularité et complexité de TeamViewer est qu’il nécessite le service teamviewerd (sudo systemctl status teamviewerd.service) ET le client graphique (TeamViewer).

ps aux | egrep '[t]eam'
root      6449  4.8  0.0 1473636 12424 ?       Sl   06:17   0:00 /opt/teamviewer/tv_bin/teamviewerd -d
moi      6466  7.1  0.7 2223904 116492 pts/1  Sl   06:17   0:00 /opt/teamviewer/tv_bin/TeamViewer

Si vous lancez le client sans que le service tourne, vous aurez le message : « Pas prêt. Veuillez vérifier votre connexion ». Au contraire si le service tourne alors tout sera bon : « Prêt à se connecter (connexion sécurisée) ».

Je me sers de TeamViewer peut-être 20 mn par mois et un jour je me rends compte qu’un $%*?#+ de service tourne : teamviewerd.service. Déjà j’ai horreur que le service d’un outil de contrôle à distance tourne sur mon poste mais surtout je veux juste pas d’un service qui tourne pour rien. J’ai ouvert le client graphique, je suis allé dans Suppléments, Options puis dans Général, j’ai décoché « Start TeamViewer with system »… pour me rendre compte quelques jours après qu’en fait le service tournait toujours.

Maintenant faisons les choses proprement comme si on l’installait pour la première fois.

wget https://download.teamviewer.com/download/linux/teamviewer_amd64.deb # Téléchargement de la dernière version
sudo gdebi teamviewer_amd64.deb; rm teamviewer_amd64.deb # Installation de TeamViewer et ses dépendances avec gdebi puis suppression du paquet deb
sudo systemctl disable --now teamviewerd.service # Désactivation du service teamviewerd au démarrage et arrêt du service

L’option --now (When used with disable or mask, the units will also be stopped) permet d’économiser une ligne : systemctl stop teamviewerd.service.

Le service ne tourne plus et ne sera pas lancer au prochain démarrage du pc, maintenant comment lancer TeamViewer ?

sudo systemctl start teamviewerd.service && (teamviewer >/dev/null 2>&1 && sudo systemctl stop teamviewerd.service &)

sudo systemctl start teamviewerd.service # On démarre le service
teamviewer >/dev/null 2>&1 # On lance le client graphique en redirigant toutes les sorties vers /dev/null (>/dev/null 2>&1)
&& sudo systemctl stop teamviewerd.service # Une fois que le client graphique est quitté, on stoppe le service
Concernant la grammaire (&&, & et ( )), je vous invite à man bash puis /Liste.

Évidemment je ne tape pas cette commande à chaque fois, j’ai un alias dans ~/.bashrc.

alias team='sudo systemctl start teamviewerd.service && (teamviewer >/dev/null 2>&1 && sudo systemctl stop teamviewerd.service &)'

Je suppose que cela doit paraître bien lourd et compliqué à certains, perso ce que je trouve lourd c’est un service qui tourne pour rien ha ha.

Bonus : Confiance ou méfiance

Lecteur tu es arrivé jusque là, tu as le droit à un bonus de lecture !

TeamViewer est un logiciel propriétaire et payant, mon dieu ! Depuis 1 an, on commence à entendre du bien de DWService, un article chez Microlinux et Sebsauvage cette semaine. Le client est publié sur GitHub depuis quelques mois, le service est gratuit et non limité (contrairement à TeamViewer pour la version gratuite).

Je m’étais penché dessus, j’en avais conclu que je n’installerai certainement pas ce logiciel. La page Sécurité ne me rassure pas du tout, aucune précision sur les technos utilisées. Le fait que ça fonctionne est la condition 0, on n’en parlerait même pas si ça ne fonctionnait pas. Pour un outil de prise de contrôle à distance, la condition N°1 pour moi est la sécurité et n’est pas remplie.

À titre personnel ce logiciel aurait été un lecteur vidéo, une calculette, etc. la condition N°1 n’aurait pas été la sécurité mais il s’agit d’un outil de prise de contrôle à distance dont on installe le serveur sur le poste qu’on souhaite piloter puis client/serveur se connecte à une node. Les sources de la node et du serveur ne sont pas fournies, on ne sait rien de comment ça fonctionne et ce que ça fait. Je précise que je trouve très bien que DWService propose le code source de son client, je ne sais pas si node et serveur sont des outils de qualité et sécurisés mais je ne peux qu’encourager et souhaiter bonne chance à l’équipe derrière. Il n’est pas question pour moi de dire que c’est mauvais mais juste de s’interroger sur la confiance qu’on peut placer dans cet outil.

Alors lecteur tu privilégies un outil proprio faisant plus de 20 millions de sessions d’assistance par jour avec 360000 abonnés payants développé par une entreprise allemande de 900 personnes et récemment introduite en bourse (source) ou un logiciel libre (pour certaines parties) dont on ne sait pas grand-chose ?

Numérique et éducation des enfants : non, internet n’est pas une nourrice

mercredi 4 septembre 2019 à 17:16

Discussion cet été avec une mère concernant ses 2 filles de 6 et 8 ans.
Elle : Elles vont en camping la semaine prochaine. Mais je ne les ai pas averti. Il n’y a pas de wifi là-bas ».
Moi (naïvement) : C’est-à-dire « les avertir » ?
Elle : Bah, elles n’auront pas de wifi pour leurs tablettes et leurs téléphones.
Moi : …
Elle : Oui, c’est tellement pratique la tablette. Ça les occupe le weekend quand on a des trucs à faire à la maison ou à organiser…

Discussion plus récente avec une petite cousine de 10 ans gardée par ses grands-parents.
Elle : On s’est couché tard avec ma soeur (14 ans) parce qu’on a regardé « Moi bête et méchant 2 » sur la tablette.
Moi (interrogateur) : C’est passé à la télé ? Hier au soir ?
Elle : Bah non, sur le téléphone. Sur un site internet. On a regardé vers 22h.
Moi : Ah sur quel site ?
Elle : C’est un site avec plein de séries et de films. Ma soeur l’a trouvé sur Google. Je crois que maman n’est pas d’accord. C’était super drôle ce film.

J’imagine la tête de la belle-mêre qui recevra une lettre de la Hadopi lui signifiant la coupure de sa connexion internet, un grand moment de rire en perspective.
A noter que notre ami le moteur de recherche, sans contrôle ni filtre parental, fonctionne bien !

Autre discussion avec cette même cousine de 10 ans, un peu plus tard
Moi : Et ta tablette, tu l’utilises pour faire quoi ?
Elle : Ben j’envoie des messages sur Snapshat. Je suis sur Tik tok. Je fais des jeux.
Moi : Ah oui ? Et ta maman, elle en pense quoi ?
Elle : Bah…. euh… rien…

Snapshat et Tik Tok, laissés entre les mains d’enfants de 10 ans, comment cela peut-il finir ? je vous laisse voir et

Ce que je retiens de ces échanges, c’est qu’élever des enfants, joueur avec eux et les stimuler intellectuellement demandent de l’énergie. Beaucoup d’énergie. Et qu’il est facile de renoncer et de les clouer devant un écran. Il y a toujours l’excuse de « Ce n’est pas grave » ou « C’est de leur époque ».

Ce qui est grave, c’est de laisser un téléphone ou un pc portable dans la chambre d’un enfant, accessible le soir et la nuit avec un navigateur sans contrôle parental. Ce qui est grave, c’est de ne pas savoir ce qui se passe sur l’écran de l’enfant alors que le meilleur et le pire sont accessibles en un clic de souris.

Planter un enfant devant Youtube Kids pendant des heures ou le laisser dans sa poussette jouer avec un smartphone est aussi dangereux et malsain que de le nourrir de fastfood ou de le laisser au volant d’une voiture : c’est irresponsable. Soyons clair, un enfant de 5 ans, 10 ans ou 15 ans n’a rien à faire sur internet. Internet est un outil, pas une nourrice.

Ce que je peux rajouter sur « numérique et enfants », c’est ce que j’ai constaté dans le cadre de mes ateliers numériques à destination des collégiens et collégiennes : les enfants ne savent pas manipuler une souris, ni taper au clavier. J’ai donc réalisé assez rapidement que la majorité des enfants ne possèdent pas d’ordinateurs dans leurs familles : tout se fait sur téléphone ou tablette. Le numérique n’est pas en relation avec un usage a minima professionnalisant (ex : taper sur un simple traitement de texte…) et je ne parle pas de coder… mais c’est uniquement de la consommation de contenu et de pub, une soumission plus ou moins abrutissante, calqué sur le modèle de la télévision. Pour l’expression « Digital natives », vous repasserez…. Utilisez plutôt « Digital slaves ».

J’avais échangé il y a quelques mois avec un ancien décideur politique local qui trouvait ma position très dure sur l’analyse de l’usage du numérique dans le cercle familial. En tant que parent, j’apparaissais sur la ligne dixit lui-même « de ceux qui ne veulent pas lâcher la bride ». Je l’ai revu la semaine dernière et il est revenu sur le sujet. Il m’a confié que la gestion du numérique en famille était devenu un fléau ! Lors d’un grand repas familial, il m’expliquait avoir dû envoyer un SMS à un de ces filleuls de 8 ans qui jouait non stop sur son téléphone, oreillettes fixées dans les oreilles, coupé du monde, pour lui dire d’arrêter ! Et les parents de l’enfant ? Ca les a fait sourire… Et il s’agit d’une famille CSP++.

Des idées et recommandations pour faire des choses intéressantes en associant numérique et enfants

Ce que j’aimerais faire passer comme message, ca n’est pas « non aux écrans », mais « mieux de temps d’écran ». Le numérique est incontournable, certes, mais pas n’importe quel numérique.

Bref, les solutions existent pour faire des choses ludiques et numériques ! Si vous avez des recommandations d’usage intelligent du numérique pour vos enfants, n’hésitez pas à les partager.

 

Edit de ma part le lendemain de la publication de ce billet :

Données personnelles des enfants : YouTube et Google écopent bien de 170 millions d’amende

Remerciements

dimanche 1 septembre 2019 à 12:30

Dans la section Liens de LinuxFr.org, une info a été remontée concernant un fork de GIMP. L’info en elle-même me désintéresse complètement en revanche j’ai soigneusement surveillé les commentaires. Je m’attendais à ce que Jehan très impliqué dans GIMP et le projet ZeMarmot explique les choses. À l’heure où j’écris ces lignes, son commentaire est à +64. Je vous invite très lourdement à le lire, très précis, clair, complet. Un témoignage rare (en Français) du pourquoi d’un fork, du ressenti d’un membre de l’équipe du logiciel forké, aussi probablement de tout ce qu’il ne faut pas faire lors d’un fork. Je vous invite également à prendre 5 secondes de votre vie et vous demander combien de temps a mis Jehan pour écrire ce commentaire. J’ai beaucoup, beaucoup, beaucoup de respect pour ces gens-là.

François MOCQ officie sur Framboise 314, un site référence sur le Raspberry Pi. Je vous colle ci-dessous la fin de son article publié jeudi (son dernier article parle de son nouveau livre sur le Raspberry Pi 4).

Le 30/08/2018 j’ai publié l’article Le grand jeu, très commenté, sévèrement critiqué. Quand on publie on se rend compte que le lecteur s’empresse de juger l’auteur, ses écrits, son style, sa personnalité… Tout y passe. Souvent intervient la critique, rarement les remerciements, la conscience du temps passé, du travail, de l’énergie, des idées…

Dans les commentaires sur Le grand jeu et sur l’article de François MOCQ, des remerciements, quelques promesses vites oubliées pour remercier et participer plus souvent. L’auteur est responsable de tous les maux parce qu’il fait/publie/choisit, lecteur ou utilisateur je t’aime mais je t’en prie sois conscient de tes responsabilités, souviens toi qu’il n’y a que celui qui ne fait rien qui ne se trompe jamais et où mène l’inaction des gens de bien.

Finissons sur une note comique, la situation de contributeur/développeur/blogueur est tellement enviable et agréable.

Voiture et vélo aux Sables d’Olonne

dimanche 18 août 2019 à 08:30

Nous sommes aux Sables d’Olonne pour quelques jours, vous êtes en train de lire un article « famille ».

J’ai fait un point sur la location de vélos pour 3 jours, ça paraissait une évidence pour nous, ce sera NON. Première fois que nous venons aux Sables, arrivés depuis 3 jours, pas assez pour une opinion définitive sur la destination mais bien assez pour souligner ce qui me gêne.

99 euros : Location pour 3 jours de 2 VTT 60 euros (VTC même prix), 2 casques 8 euros, 1 remorque 31 euros. Le petit fait du tricycle pas encore de vélo. La remorque qui fait un tiers du prix pourrait être remplacée par un siège bébé mais 1/ Le gosse adore 2/ Entre le petit sac de ville de Madame, les jouets de plage du gosse, les 2 sacs fringues propres et serviettes, la remorque est plus logique et simple niveau choix

Je ne reviens pas sur le prix, trouver 20 euros moins cher ne change rien au problème. Évidemment je ne critique pas le fait que les vélos doivent être achetés, maintenus/réparés, qu’il faut que l’entreprise puisse vivre de ces locations. Je ne suis pas pour des solutions à 50 euros où l’entreprise tire la langue, ne fait aucun bénéfice et paye ses employés ou saisonniers au lance-pierres.

La majorité des places disponibles pour les autos sont payantes près des plages de la ville, 2,20 euros les 2h puis 0,5 euros par demi-heure supplémentaire. La première remarque qui me vient, ça trie à l’entrée. Une bonne partie des familles « populaires » ne claquera pas 4 euros pour passer un après-midi à la mer garé correctement. Une hypocrisie de plus que je ne supporte pas, on ne dit pas les pauvres dehors, on fait juste en sorte que ça ne soit pas tenable financièrement pour eux.

Je vais donc payer 4 euros multipliés par 3 jours soit 12 euros en stationnement. On ne doit pas consommer plus de quelques euros d’essence par jour, une journée typique va être une sortie/ballade/bouffe puis retour à la maison et quelques heures à la plage puis retour. J’ai choisi un airbnb où on est à 10 mn en vélo de la plage sans se presser, pas loin du tout. Se déplacer et se garer en voiture pendant 3 jours nous coûtera autour de 30 euros, un tiers du prix des vélos… pas pour demain la transition alors que le lieu se prête particulièrement au vélo, nous sommes proches de toute commodité.

En ce moment mes réflexions me mènent à la notion de confort. J’ai l’argent pour les vélos, je fais le choix de prendre la voiture car c’est nettement moins cher, plus sûr, viable sous la pluie. Si demain la voiture était strictement interdite dans le monde, je prendrais le vélo ou j’irais à pied. Un moyen de dire qu’à titre personnel on peut changer les choses mais qu’au niveau politique et sociétal davantage. Pour résumer mon idée, le changement viendra d’en bas mais penser qu’il fonctionnera sans intervention politique est une erreur. Il faudra forcer les choses et les gens. Réflexion basique, la loi contraint à ne pas rouler en voiture, tu roules pas en voiture. Bizarrement la planète s’en portera mieux même si on est d’accord que le débat se focalise souvent sur la voiture quand les gros pollueurs sont ailleurs.

J’en reviens au stationnement. Nous sommes allés au port où se trouvent de nombreux restaurants. Une ligne de bus dessert l’endroit de manière minable au regard du nombre conséquent de personnes dans les restaurants, nous sommes en pleine saison touristique. La politique de stationnement est intéressante : 2,20 euros les 2 heures, 4,40 euros les 2 heures et demi, 25 euros les 3 heures. Le but doit être de faire circuler/bouger les gens au bout de 2h, à noter que la prune est à 17 euros si vous payez dans les 48h puis 75 euros ensuite. Un restaurateur me disait qu’il perdait de la clientèle et que certains clients ne payaient pas le stationnement puisque avoir une prune de 25 euros (minorée à 17) ou payer 3 heures 25 euros autant jouer avec le feu. Personnellement au bout de 2 heures je suis allé changer le ticket. Je me suis d’ailleurs fait la réflexion que l’horodateur sur lequel on renseigne sa plaque d’immatriculation devrait être en mesure de dire : « Hé coco tu me prends pour un con là, tu as pris un ticket pour cette plaque il y a 2 heures, tu circules ! »

Je n’arrive pas vraiment à blâmer la municipalité. Pour éviter l’anarchie niveau stationnement, il faut faire payer le stationnement et passer police municipale + fourrière. Vendredi 16 août à 21h police et fourrière tournaient. Quelle autre solution ? On ne peut pas trouver de la place pour construire un parking, il n’y a même pas de marquage au sol pour les vélos je suppose par manque d’espace (taille de la route). Certains mauvaises langues diront, tu te gares loin, tu marches. Bien sûr mais mon propos est de souligner à travers un exemple vécu que rien n’est satisfaisant niveau municipalité (stationnement et restaurants), voiture et vélo. Au final l’interdiction complète aux voitures sur le port serait la bonne solution mais politiquement bonne chance.

Il me semble que dans ma manière de penser et d’écrire, j’ai besoin de fluidifier ma parole : Faire des articles beaucoup moins intéressants pour vous mais m’exercer davantage à mettre des mots sur des maux. Comme beaucoup de blogueurs, j’écris quand quelque chose me fait réagir/réfléchir. La pollution, l’écologie (et même les valeurs à transmettre à mon fils comme le vélo versus la voiture) sont des sujets qui me préoccupent même si je n’en ai jamais parlé ici. En tant que civilisation et au regard des données scientifiques sur la planète et le climat, on est mal barrés. À défaut d’avoir amorcé des changements j’y réfléchis, je m’informe, j’échange et je partage.