Forum Linux.debian/ubuntu [Résolu] Ouvrir automatiquement un logiciel précis dans un second terminal

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
3
25
août
2021

Bonjour,
J'ai un ordinateur sur lequel je n'ai pas installé d'interface graphique et que j'utilise régulièrement pour écouter des audios ou regarder des vidéos. Je préfère gérer le son non pas à partir du logiciel (mplayer) mais à partir de alsamixer qui est ouvert dans un second terminal. Je me demandais alors s'il était possible, lorsque je démarre cet ordinateur, de faire en sorte que ce second terminal démarre directement avec alsamixer de sorte à ce que je n'ai pas à le lancer à chaque fois. Je ne sais absolument pas si cela est possible mais si certains avaient la réponse je serais très curieux de savoir comment !

Merci d'avance,

  • # systemd est ton ami (peut-être…)

    Posté par  . Évalué à 4.

    Salut,

    Tu peux peut-être arriver à faire ça avec un service systemd déclaré ainsi :

    [Unit]
    Description=Alsamixer on tty2
    
    [Service]
    Type=simple
    ExecStart=/usr/bin/alsamixer
    StandardInput=tty
    StandardOutput=tty
    TTYPath=/dev/tty2
    
    [Install]
    WantedBy=multi-user.target
    

    Je précise que je n'ai pas testé mais honteusement pompé ça sur un forum après avoir recherché «systemd launch command in tty at startup»

    • [^] # Re: systemd est ton ami (peut-être…)

      Posté par  . Évalué à 1.

      Pardonne moi pour mon ignorance, mais comment fait-on pour "déclarer un service systemed"? Je n'y connais pas grand chose de ce côté là…
      Merci!

      • [^] # Re: systemd est ton ami (peut-être…)

        Posté par  (site web personnel) . Évalué à 4.

        En root, tu enregistres ce texte dans ce fichier nommé /etc/systemd/system/alsamixer-tty2.service
        et en root, toujours, tu tappes cette commande : systemctl enable alsamixer-tty2 pour rendre ce service disponible au prochain redémarrage
        et cette commande pour lancer alsamixer tout de suite : systemctl start alsamixer-tty2.

        Moi non-plus je n’ai pas testé, mais ça doit ressembler à ça. Note que tu peux mettre ce que tu veux à la place de alsamixer-tty2 à condition que le nom différent soit reporté dans toutes les autres commandes.

        Pour résumer, une fois que t’es root, tu peux coller ça dans ton terminal :

        cat > /etc/systemd/system/alsamixer-tty2.service <<\EOF
        [Unit]
        Description=Alsamixer on tty2
        
        [Service]
        Type=simple
        ExecStart=/usr/bin/alsamixer
        StandardInput=tty
        StandardOutput=tty
        TTYPath=/dev/tty2
        
        [Install]
        WantedBy=multi-user.target
        EOF
        
        systemctl enable alsamixer-tty2
        
        systemctl start alsamixer-tty2

        Ça va écrire le fichier d’unité de service systemd, l’activer et démarrer le service.

        ce commentaire est sous licence cc by 4 et précédentes

  • # Forcer le login automatique avec un utilisateur précis...

    Posté par  . Évalué à 5.

    … dont le "shell" soit alsamixer.

    Tous les getty que je connais permettent d'ignorer l'étape d'authentification, et de changer la commande utilisée au démarrage.
    Configurer cet aspect dépend principalement de ton init, mais devrait être trivial avec la plupart des init (j'ai envie de dire, "sauf systemd" parce qu'en pratique je me souviens avoir voulu avoir le contrôle sur ce type d'opérations, et le faire proprement sur debian 9, c'était vrai foutoir, impossible de trouver un moyen de faire ça proprement… mais c'est peut-être un problème de l'implémentation Debian de systemd, je ne sais pas)…

    Dans le cas de sysVinit, il faut aller modifier le fichier /etc/inittab, les lignes listant les TTYs actifs sont faciles à trouver, il suffit de grepper.
    Dans le cas de runit, tu as normalement un fichier run par TTY.
    Pour les autres, je ne sais pas (pour systemd, la réponse est peut-être dans le fil précédent).

    Le dernier cas un peu spécifique que je vois est ngetty, vu qu'il fonctionne comme un daemon, sa configuration est probablement un peu spécifique, mais si tu l'utilises tu dois probablement l'avoir déjà lue.

    • [^] # Re: Forcer le login automatique avec un utilisateur précis...

      Posté par  . Évalué à 1.

      Je te remercie pour cette réponse très technique, mais je vais déjà essayer la proposition de JJD qui me semble plus simple. J'essaierai ensuite celle-ci si elle ne fonctionne pas!

      • [^] # Re: Forcer le login automatique avec un utilisateur précis...

        Posté par  (site web personnel) . Évalué à 3.

        La proposition de JJD est la transposition avec la méthode systemd de la proposition de freem. =)

        freem t’indique les méthodes pour les autres systèmes de service qui ne sont pas systemd, si tu as systemd il te faudra éventuellement débugger la méthode proposée par JJD si ça ne marche pas, mais si tu n’as pas systemd la méthode proposée par JJD ne pourras pas t’aider et il te faudra explorer la solutions spécifique à ce que ta distribution utilise (sysvinit, runit…).

        ce commentaire est sous licence cc by 4 et précédentes

        • [^] # Re: Forcer le login automatique avec un utilisateur précis...

          Posté par  . Évalué à 2.

          Je viens d'essayer la proposition de JJD et ça fonctionne, merci et chapeau pour l'idée! J'ai encore beaucoup à apprendre des merveilleuses possibilités de linux, je me considère encore comme débutant mais c'est précisément pour évoluer que j'ai installé un système sans GUI. Encore merci pour toutes ces aides précieuses !

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.