logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 09-08-2020 07:51:29

crap0
Membre
Lieu : Bruxelles (Be)
Distrib. : debian 12
Noyau : Linux 6.1.0-17-amd64
(G)UI : i3
Inscription : 27-09-2018
Site Web

[RESOLU] Script BASH pour i3: éteindre, déconnecté, reboot, annuler

Bonjour.

Je suis sous i3 et j'ai trouver sur la toile ceci:

bindsym $mod+Shift+E exec --no-startup-id sh -c '[ $(echo "NO\nYES" | dmenu -sb "#ff9700" -nb "#151515" -nf "#999999" -sf "#000000" -i -p "Le raccourcis Exit a été pressé. Veux tu quittter i3? Cela mettra fin la session en cours.") = "YES" ] && i3-msg exit'



cela permet d'avoir un message pour quitter la session i3 et revenir au gestionnaire de connexion -et- d'annuler l'action faite pour affiché ce message et revenir à la situation de départ.

J'aimerais pouvoir y ajouter : "Eteindre" sans devoir passer par le gestionnaire de session (et pourquoi pas, éventuellement, une option de reboot / "éteindre" étant la priorité)

J'ai trouvé d'autres trucs en python pour y arriver mais l'avantage du bash est qu'il s'intègre au fichier de configuration de i3 et y est interprété sans stress... cela me permet de ne pas m'éparpiller... et de ne pas décupler le nbr de fichier à je ne sais plus qui est quoi ou ou est quoi...
- Dans le ligne de commande si dessus, la commande bash a proprement parlé commence après "bindsym $mod+Shift+E exec --no-startup-id sh "

Je ne sais pas écrire de bash pour le moment donc, je vous demande assistance ...
MERCI !!

a+

Dernière modification par crap0 (10-08-2020 01:35:17)

Hors ligne

#2 09-08-2020 09:59:42

framend
Modo-Moule zébrée
Lieu : .$_ENV["HOME"]
Distrib. : Debian «Sid»
Noyau : uname -r
(G)UI : sway
Inscription : 17-11-2018

Re : [RESOLU] Script BASH pour i3: éteindre, déconnecté, reboot, annuler

Plop, ici dans mon i3 j'ai un « mode » pour tout ce qui est Reboot, Shutdown, etc…

## Manual management of the shutdown, reboot, lock screen
set $Locker i3lock -i /chemin/vers/écran/de/veille.png -p default -t -n -u && sleep 1

set $mode_system System lock (l), logout (e), suspend (s), reboot (r), (Shift+s) shutdown
mode "$mode_system" {
    bindsym o exec --no-startup-id $Locker, mode "default"
    bindsym f exec --no-startup-id i3-msg exit, mode "default"
    bindsym k exec --no-startup-id $Locker && systemctl suspend, mode "default"
    bindsym l exec --no-startup-id systemctl reboot, mode "default"
    bindsym Shift+k exec --no-startup-id systemctl poweroff -i, mode "default"  

    # back to normal: Enter or Escape
    bindsym Return mode "default"
    bindsym Escape mode "default"
}

bindsym $mod+n mode "$mode_system"
 


I3 est sympa on peut lui parler via i3-lock et/ou i3-msg. C'est 'achement bien fait…
Comme ça pas d'appel à un language tortueux (jeu de mot toussa…) ni à un script externe.


“It is not daily increase but daily decrease, hack away the unessential. The closer to the source, the less wastage there is.” - Bruce Lee (philosophe)

Hors ligne

#3 09-08-2020 10:11:21

crap0
Membre
Lieu : Bruxelles (Be)
Distrib. : debian 12
Noyau : Linux 6.1.0-17-amd64
(G)UI : i3
Inscription : 27-09-2018
Site Web

Re : [RESOLU] Script BASH pour i3: éteindre, déconnecté, reboot, annuler

oui c'est vrai / pas bête
bon, je vais essayer
mais ça fait tout de même des touche supplémentaire à ne pas oublier

peut-être un avantage de ma ligne en bash
une fois le raccourcis $mod+shift+e lancé : tu clique ou tu te déplace avec les flêche (+ Enter)
et hops le tour est joué

donc je reste intèréssé par mon post de départ ("aussi" si je puis dire)

mais: pas bête le spécial mode ...

Hors ligne

#4 09-08-2020 11:22:09

crap0
Membre
Lieu : Bruxelles (Be)
Distrib. : debian 12
Noyau : Linux 6.1.0-17-amd64
(G)UI : i3
Inscription : 27-09-2018
Site Web

Re : [RESOLU] Script BASH pour i3: éteindre, déconnecté, reboot, annuler

Ok
excuse moi ... j'avais pas compris que le message comportait les instructions des différentes options du mode.

ça me parait complet !
merci !

mais je sais t-on jamais : si quelqu'un à la réponse à mon premier poste
j'en serrais ravi !

tchuss

Hors ligne

#5 09-08-2020 13:09:20

arpinux
CA Debian-Facile
Lieu : Montréal d'aude
Distrib. : nakeDeb
Noyau : Linux 6.1 amd64
(G)UI : sway - i3wm - fluxbox
Inscription : 30-06-2016
Site Web

Re : [RESOLU] Script BASH pour i3: éteindre, déconnecté, reboot, annuler

o/ smile

avec dmenu, ceci propose du logout au shutdown en un menu

#!/bin/bash
# a simple logout dialog

# launch exit menu
choice=`echo -e "0: Logout\n1: Shutdown\n2: Suspend\n3: Reboot\n4: Cancel" | dmenu -b -fn "Hack-9" -nb "#2E3440" -nf "#D8DEE9" -sb "#BF616A" -sf "#ECEFF4" -p "select an action:" | cut -d ':' -f 1`

# execute the choice in background
case "$choice" in
  0) i3-msg exit & ;;
  1) systemctl poweroff & ;;
  2) systemctl suspend & ;;
  3) systemctl reboot & ;;
  4) exit ;;
esac
 



fonctionne aussi avec rofi sur i3wm smile


nous sommes tous différents ... c'est notre point commun ...
Association Debian-Facile - Les cahiers du débutant - ISO Debian-Facile - 3hg - nakeDeb
GNU/Linux©2006-2024

En ligne

#6 09-08-2020 13:16:48

SuShY
CA Debian-Facile
Lieu : Chartres
Distrib. : Debian Sid x86_64
Noyau : Linux > 6.0.0-2-amd64
(G)UI : i3WM - 4.21-1
Inscription : 06-01-2018
Site Web

Re : [RESOLU] Script BASH pour i3: éteindre, déconnecté, reboot, annuler

De mon côté, dans polybar j'ai insérer un bouton avec le code ci-dessous.

J'ai la fonction, éteindre, redémarrer ou verrouiller.
Chaque fonction est associée à une icône.

[module/powermenu]
type = custom/menu
label-active-font = 1
format-spacing = 1
label-open = 
label-open-foreground = ${colors.secondary}
label-close = 
label-close-foreground = ${colors.secondary}
label-separator = |
label-separator-foreground = ${colors.foreground-alt}

menu-0-0 = 
menu-0-0-foreground = ${colors.foreground}
menu-0-0-exec = systemctl poweroff
menu-0-1 = 
menu-0-1-foreground = ${colors.foreground}
menu-0-1-exec = systemctl reboot
menu-0-2 = 
menu-0-2-foreground = ${colors.foreground}
menu-0-2-exec = i3lock -i ~/.config/i3/i3lock.png

Hors ligne

#7 09-08-2020 17:22:59

SuShY
CA Debian-Facile
Lieu : Chartres
Distrib. : Debian Sid x86_64
Noyau : Linux > 6.0.0-2-amd64
(G)UI : i3WM - 4.21-1
Inscription : 06-01-2018
Site Web

Re : [RESOLU] Script BASH pour i3: éteindre, déconnecté, reboot, annuler

arpinux a écrit :

fonctionne aussi avec rofi sur i3wm

tu fait ça comment du coup stp ?

Hors ligne

#8 09-08-2020 17:29:32

arpinux
CA Debian-Facile
Lieu : Montréal d'aude
Distrib. : nakeDeb
Noyau : Linux 6.1 amd64
(G)UI : sway - i3wm - fluxbox
Inscription : 30-06-2016
Site Web

Re : [RESOLU] Script BASH pour i3: éteindre, déconnecté, reboot, annuler

^^ smile
avec rofi, depuis un appel externe au i3config idem celui d'en haut, mais en remplaçant "dmenu" par "rofi -dmenu" et en virant les variables inutiles.
l'aspect de rofi est commandé par les options générales de rofi dans .Xresources

~/bin/i3quit

#!/bin/bash
# a simple logout dialog

# launch exit menu
choice=`echo -e "0: Logout\n1: Shutdown\n2: Suspend\n3: Reboot\n4: Cancel" | rofi -dmenu -p "select an action" | cut -d ':' -f 1`

# execute the choice in background
case "$choice" in
  0) i3-msg exit & ;;
  1) systemctl poweroff & ;;
  2) systemctl suspend & ;;
  3) systemctl reboot & ;;
  4) exit ;;
esac



edit : correction du code (mauvais copier-coller)

Dernière modification par arpinux (10-08-2020 00:41:50)


nous sommes tous différents ... c'est notre point commun ...
Association Debian-Facile - Les cahiers du débutant - ISO Debian-Facile - 3hg - nakeDeb
GNU/Linux©2006-2024

En ligne

#9 09-08-2020 17:35:10

SuShY
CA Debian-Facile
Lieu : Chartres
Distrib. : Debian Sid x86_64
Noyau : Linux > 6.0.0-2-amd64
(G)UI : i3WM - 4.21-1
Inscription : 06-01-2018
Site Web

Re : [RESOLU] Script BASH pour i3: éteindre, déconnecté, reboot, annuler

Je ne suis pas, ok pour modifier le raccourcis dans le fichier de config i3, mais je ne sais pas bien pour le reste.
(je suis un peu noob aujourd'hui)

Hors ligne

#10 09-08-2020 17:43:04

arpinux
CA Debian-Facile
Lieu : Montréal d'aude
Distrib. : nakeDeb
Noyau : Linux 6.1 amd64
(G)UI : sway - i3wm - fluxbox
Inscription : 30-06-2016
Site Web

Re : [RESOLU] Script BASH pour i3: éteindre, déconnecté, reboot, annuler

dans i3config, j'ai ça pour remplacer la commande par défaut, tout simplement :

bindsym $mod+Shift+e exec ~/bin/i3quit


nous sommes tous différents ... c'est notre point commun ...
Association Debian-Facile - Les cahiers du débutant - ISO Debian-Facile - 3hg - nakeDeb
GNU/Linux©2006-2024

En ligne

#11 09-08-2020 17:46:24

SuShY
CA Debian-Facile
Lieu : Chartres
Distrib. : Debian Sid x86_64
Noyau : Linux > 6.0.0-2-amd64
(G)UI : i3WM - 4.21-1
Inscription : 06-01-2018
Site Web

Re : [RESOLU] Script BASH pour i3: éteindre, déconnecté, reboot, annuler

Yes, c'est ok !
Merci.

Hors ligne

#12 10-08-2020 00:39:21

crap0
Membre
Lieu : Bruxelles (Be)
Distrib. : debian 12
Noyau : Linux 6.1.0-17-amd64
(G)UI : i3
Inscription : 27-09-2018
Site Web

Re : [RESOLU] Script BASH pour i3: éteindre, déconnecté, reboot, annuler

Pour ma part tout se passe très bien.
J'ai bien rofi avec les 4 options qui s'affiche.
mais aucune d'entre elle ne fonctionne...
sauf la dernière : cancel ....

Hors ligne

#13 10-08-2020 00:49:46

arpinux
CA Debian-Facile
Lieu : Montréal d'aude
Distrib. : nakeDeb
Noyau : Linux 6.1 amd64
(G)UI : sway - i3wm - fluxbox
Inscription : 30-06-2016
Site Web

Re : [RESOLU] Script BASH pour i3: éteindre, déconnecté, reboot, annuler

j'ai corrigé le code, il y avait une coquille à la fin du script hmm
ça devrait aller mieux normalement. pardon pour le mauvais copier-coller.

nous sommes tous différents ... c'est notre point commun ...
Association Debian-Facile - Les cahiers du débutant - ISO Debian-Facile - 3hg - nakeDeb
GNU/Linux©2006-2024

En ligne

#14 10-08-2020 01:12:10

crap0
Membre
Lieu : Bruxelles (Be)
Distrib. : debian 12
Noyau : Linux 6.1.0-17-amd64
(G)UI : i3
Inscription : 27-09-2018
Site Web

Re : [RESOLU] Script BASH pour i3: éteindre, déconnecté, reboot, annuler

merci ...

Hors ligne

#15 10-08-2020 01:34:31

crap0
Membre
Lieu : Bruxelles (Be)
Distrib. : debian 12
Noyau : Linux 6.1.0-17-amd64
(G)UI : i3
Inscription : 27-09-2018
Site Web

Re : [RESOLU] Script BASH pour i3: éteindre, déconnecté, reboot, annuler

personnellement, j'ai appelé le script "rofi-quit.sh"
car il peut-être utile à d'autre wm ... on verra ...

puis j'ai rajouter une ligne pour verrouiller la session avec i3lock
ça donne ça :

#!/bin/bash
# a simple logout dialog

# launch exit menu
choice=`echo -e "0: Logout\n1: Shutdown\n2: Suspend\n3: Reboot\n4: i3lock\n5: Cancel" | rofi -dmenu -p "select an action" | cut -d ':' -f 1`

# execute the choice in background
case "$choice" in
  0) i3-msg exit & ;;
  1) systemctl poweroff & ;;
  2) systemctl suspend & ;;
  3) systemctl reboot & ;;
  4) i3lock -f -t -i /chemin/vers/le/.png & ;;
  5) exit ;;
esac



mais il reste un avantage a la solution de framend et son "mode exit"
tout est dans le fichier de configuration d'i3 et n'utilise pas de programme externe
moi, je trouve ça cool.

sais pas, je vais tout de même garder la "rofi solution"
allé
merci
a+

Hors ligne

Pied de page des forums