{"id":2434,"date":"2016-01-30T20:00:03","date_gmt":"2016-01-30T19:00:03","guid":{"rendered":"http:\/\/olivier.hoarau.org\/?p=2434"},"modified":"2016-02-02T22:36:58","modified_gmt":"2016-02-02T21:36:58","slug":"lancer-une-fenetre-interactive-avec-systemd","status":"publish","type":"post","link":"https:\/\/olivier.hoarau.org\/?p=2434","title":{"rendered":"Lancer une fen\u00eatre interactive avec systemd"},"content":{"rendered":"<div style=\"text-align: justify;\">\n<p>j&rsquo;ai un portable ThinkPad X220 avec mageia 5 qui utilise les services d&rsquo;<a href=\"http:\/\/www.funix.org\/fr\/linux\/index.php?ref=ldap2\">authentification utilisateur par LDAP<\/a> et d&rsquo;<a href=\"http:\/\/www.funix.org\/fr\/linux\/index.php?ref=mountage#Automountage\">automontage NFS<\/a> de <a href=\"http:\/\/olivier.hoarau.org\/?p=2195\">mon serveur perso Dell PowerEdge T310<\/a>, Il se trouve que quand je suis en d\u00e9placement avec mon portable, les services <strong>NFS<\/strong> et <strong>LDAP<\/strong> restent actifs et g\u00e9n\u00e8rent des timeouts qui sont super p\u00e9nibles. Je me suis donc creus\u00e9 la t\u00eate pour pouvoir choisir au boot entre un mode maison et un mode mobile avant que l&rsquo;interface graphique de login se lance.<\/p>\n<p>En tout seigneur tout honneur, je me suis inspir\u00e9 de ce site <a href=\"https:\/\/mespotesgeek.fr\/fr\/execution-dun-script-interactif-au-boot-avec-systemd\/\">https:\/\/mespotesgeek.fr\/fr\/execution-dun-script-interactif-au-boot-avec-systemd\/<\/a> qui a \u00e9t\u00e9 lui m\u00eame inspir\u00e9 par <a href=\"https:\/\/alan-mushi.github.io\/2014\/10\/26\/execute-an-interactive-script-at-boot-with-systemd.html\">https:\/\/alan-mushi.github.io\/2014\/10\/26\/execute-an-interactive-script-at-boot-with-systemd.html<\/a><\/p>\n<\/div>\n<p>j&rsquo;ai donc cr\u00e9\u00e9 le service<strong> \/etc\/systemd\/system\/choix.service<\/strong> contenant<\/p>\n<blockquote><p>[Unit]<br \/>\nDescription=Service pour passer en mode maison ou mobile<br \/>\nAfter=getty@tty2.service<\/p>\n<p>[Service]<br \/>\nType=oneshot<br \/>\nExecStart=\/usr\/bin\/choix-mode.sh<br \/>\nStandardInput=tty<br \/>\nTTYPath=\/dev\/tty2<br \/>\nTTYReset=yes<br \/>\nTTYVHangup=yes<\/p>\n<p>[Install]<br \/>\nWantedBy=multi-user.target<\/p><\/blockquote>\n<p style=\"text-align: justify;\">pour le d\u00e9tail des param\u00e8tres, je vous renvoie aux sites cit\u00e9s plus haut. Revenons \u00e0 notre script <strong>\/usr\/bin\/choix-mode.sh<\/strong> il va contenir<\/p>\n<blockquote><p>#!\/bin\/bash<\/p>\n<p>sleep 5<\/p>\n<p>chvt 2<\/p>\n<p>mode=$(whiptail &#8211;title \u00ab\u00a0Mode connexion\u00a0\u00bb &#8211;radiolist \\<br \/>\n\u00ab\u00a0Quel est ton mode de connexion\u00a0\u00bb 15 60 4 \\<br \/>\n\u00ab\u00a0Connecte\u00a0\u00bb \u00ab\u00a0Je suis \u00e0 la maison\u00a0\u00bb ON \\<br \/>\n\u00ab\u00a0Mobile\u00a0\u00bb \u00ab\u00a0Je suis en mode mobile\u00a0\u00bb OFF 3&gt;&amp;1 1&gt;&amp;2 2&gt;&amp;3)<\/p>\n<p>exitstatus=$?<br \/>\nif [ $exitstatus -ne 0 ]; then<br \/>\nmode=\u00a0\u00bbConnecte\u00a0\u00bb<br \/>\nfi<\/p>\n<p>if [ $mode == &lsquo;Mobile&rsquo; ]; then<br \/>\nsystemctl stop nslcd<br \/>\nsystemctl stop autofs<br \/>\nfi<\/p>\n<p>chvt 1<\/p><\/blockquote>\n<div style=\"text-align: justify;\">par d\u00e9faut Mageia boote sur la console <strong>tty1<\/strong>, on bascule \u00e0 un moment sur la console <strong>tty2<\/strong> (<strong>chvt 2<\/strong>) la fen\u00eatre s&rsquo;affiche, on fait notre choix et rebascule sur la console de boot <strong>tty1<\/strong> (<strong>chvt 1<\/strong>). La commande <strong>sleep<\/strong> au tout d\u00e9but du script est n\u00e9cessaire sinon on n&rsquo;a pas la main sur la fen\u00eatre. De m\u00eame si <strong>3&gt;&amp;1 1&gt;&amp;2 2&gt;&amp;3<\/strong> n&rsquo;apparait pas \u00e0 la fin de la commande <strong>whiptail<\/strong>, rien ne s&rsquo;affiche. On donne des droits d&rsquo;ex\u00e9cutable \u00e0 notre script en tapant:<\/div>\n<blockquote><p>chmod 755 choix-mode.sh<\/p><\/blockquote>\n<div style=\"text-align: justify;\">Il faudra veiller \u00e0 avoir le package <strong>newt<\/strong> install\u00e9 pour b\u00e9n\u00e9ficier la commande g\u00e9rant les fen\u00eatres de dialogue <strong>whiptail<\/strong>. On active maintenant le service en tapant\u00a0 <strong>systemctl enable choix.service<\/strong>. On reboote et voil\u00e0 le r\u00e9sultat<\/div>\n<p>&nbsp;<\/p>\n<div><img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/www.funix.org\/fr\/linux\/images\/boot-whiptail.jpg?w=474\" alt=\"\" \/><\/div>\n<p>&nbsp;<\/p>\n<div style=\"text-align: justify;\">La photo est un peu pourrave, mais on voit que \u00e7a marche ! Par contre probl\u00e8me sous Mageia les messages de <strong>systemd<\/strong> s&rsquo;affichent par dessus la fen\u00eatre, c&rsquo;est plut\u00f4t p\u00e9nible. J&rsquo;ai bien essay\u00e9 de jouer avec l&rsquo;affichage sur les diff\u00e9rentes consoles mais c&rsquo;est \u00e0 croire que les messages s&rsquo;affichent indiff\u00e9remment sur toutes les consoles. Je n&rsquo;ai rien trouv\u00e9 de mieux que de passer le boot en mode silencieux. Pour cela on \u00e9dite le fichier <strong>\/boot\/grub\/menu.lst<\/strong> et on rajoute les commandes suivantes (en gras)<\/div>\n<blockquote><p>kernel (hd0,4)\/boot\/vmlinuz BOOT_IMAGE=linux root=UUID=56f67d09-fddc-49f2-83c3-8c3c20378f90\u00a0 splash <strong>quiet loglevel=0<\/strong> noiswmd resume=UUID=b59a03aa-47<br \/>\n44-4ace-ad91-10f8109817b8 vga=788 <strong>systemd.show_status=0<\/strong><\/p><\/blockquote>\n<p>ce n&rsquo;est pas fini, on cr\u00e9e le fichier <strong>\/etc\/sysctl.d\/20-quiet-printk.conf<\/strong> qui contient<\/p>\n<blockquote><p>kernel.printk = 3 3 3 3<\/p><\/blockquote>\n<p>on reboote et plus de messages ind\u00e9sirables, that&rsquo;s all folks !!<\/p>\n<p>J&rsquo;en ai profit\u00e9 pour mettre \u00e0 jour ma page sur mon site <a href=\"http:\/\/www.funix.org\/\">funix<\/a> sur le d\u00e9marrage de linux, 16 ans que je ne l&rsquo;avais pas mise \u00e0 jour ! C&rsquo;est devenu une page sur la <a href=\"http:\/\/www.funix.org\/fr\/linux\/index.php?ref=startup\">gestion des services et du d\u00e9marrage avec systemd<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>j&rsquo;ai un portable ThinkPad X220 avec mageia 5 qui utilise les services d&rsquo;authentification utilisateur par LDAP et d&rsquo;automontage NFS de mon serveur perso Dell PowerEdge T310, Il se trouve que quand je suis en d\u00e9placement avec mon portable, les services NFS et LDAP restent actifs et g\u00e9n\u00e8rent des timeouts qui sont super p\u00e9nibles. Je me &hellip; <a href=\"https:\/\/olivier.hoarau.org\/?p=2434\" class=\"more-link\">Continuer la lecture de <span class=\"screen-reader-text\">Lancer une fen\u00eatre interactive avec systemd<\/span>  <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false,"_share_on_mastodon":"0"},"categories":[5,12],"tags":[],"class_list":["post-2434","post","type-post","status-publish","format-standard","hentry","category-logiciels-libres","category-vie-de-funix"],"share_on_mastodon":{"url":"","error":""},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/peOjJ-Dg","jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=\/wp\/v2\/posts\/2434","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2434"}],"version-history":[{"count":4,"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=\/wp\/v2\/posts\/2434\/revisions"}],"predecessor-version":[{"id":2439,"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=\/wp\/v2\/posts\/2434\/revisions\/2439"}],"wp:attachment":[{"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2434"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2434"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2434"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}