#1 Le 02/11/2021, à 01:54
- nany
Script totalement inutile donc rigoureusement indispensable.
Bonjour,
Suite à cette demande ;
et pendant que j'y en hors sujet suis j'aimerais réussir à avoir le nom de la version dans mon prompt bash
Qid a écrit :et pendant que j'y en hors sujet suis j'aimerais réussir à avoir le nom de la version dans mon prompt bash
PS1='blabla $(lsb_release -sc) blabla'
merci mais dans un cas comme dans l'autre ça ne répond pas tout à fait à ma demande :
"focal" n'est pas le nom complet de la 20.04 là où "Bionic Beaver" est bien complet pour la 18.04
ouais je chipote peut-être mais bon
C’est tout ce que je peux faire avec lsb_release.
Après tu peux toujours aller voir sur wikipedia pour retrouver le nom complet.Il y a certainement un moyen de faire un script qui récupère ce nom complet pour l’afficher dans $PS1.
Mais pour l’instant j’ai la flemme de m’y coller.
la crise de flemme ayant été de courte durée, j’ai fait un petit script pour le fun.
Je le présente dans ce nouveau fil afin d’éviter trop de hors sujet dans le fil de demande d’aide.
Procédure :
sudo apt install -y python3-mechanicalsoup
cat << EOF | tee ~/.local/bin/search_ubuntu_complete_codename
#!/usr/bin/env python3
# coding: utf8
# ident: 4 spaces
# version: 0.1
#
# auteur: nany
#
# license:
# ----------------------------------------------------------------------------
# "THE BEER-WARE LICENSE" (Revision 42):
# <nany@forum.ubuntu-fr.org> wrote this file. As long as you retain this
# notice you can do whatever you want with this stuff. If we meet some day,
# and you think this stuff is worth it, you can buy me a beer in return. nany
# ----------------------------------------------------------------------------
#
# licence :
# ----------------------------------------------------------------------------
# "LICENCE BEERWARE" (Révision 42):
# <nany@forum.ubuntu-fr.org> a créé ce fichier. Tant que vous conservez cet
# avertissement, vous pouvez faire ce que vous voulez de ce truc. Si on se
# rencontre un jour et que vous pensez que ce truc vaut le coup, vous pouvez
# me payer une bière en retour. nany
# ----------------------------------------------------------------------------
#
# ####################################
# # nécessite python3-mechanicalsoup #
# ####################################
from mechanicalsoup import *
WIKI_URL = 'https://fr.wikipedia.org/wiki/Liste_des_versions_d\'Ubuntu'
def main():
f = open('/etc/lsb-release', 'r')
CodeName = f.readlines()[2].split('=')[1].strip('\n')
f.close()
browser = StatefulBrowser(user_agent='Mozilla/5.0 (compatible)')
browser.open(WIKI_URL)
page = browser.get_current_page()
CompleteCodeNames = page.find(
'table' , 'wikitable').findAll('span' , 'nowrap')
for ccn in CompleteCodeNames:
CompleteCodeName = str(ccn.find('a').renderContents().decode('utf8'))
if CodeName in CompleteCodeName.lower():
print(CompleteCodeName)
browser.close()
main()
EOF
chmod -c +x ~/.local/bin/search_ubuntu_complete_codename
Éditer ~/.bashrc pour modifier les lignes avec PS1 :
PS1='… $(search_ubuntu_complete_codename) …'
Recharger .bashrc :
. ~/.bashrc
Exemple de prompt :
┏[ lundi 01 novembre 2021 ]
┣ nany@stupidcomputer (Focal Fossa) :
┗▶ ~$
Il y a un inconvénient, le prompt met un temps variable selon la connexion internet à s’afficher.
Chez moi avec la fibre c’est quasiment instantané mais je déconseille pour ceux qui ont une connexion en carton.
De plus, le script ne gère pas les erreurs, par exemple en cas de problème de connexion internet (ça fait partie des améliorations possible si le cœur m’en dit).
/!\ ATTENTION, le script n’est garanti que pour une variante officielle d’Ubuntu ! /!\
En ligne
#2 Le 02/11/2021, à 07:06
- lynn
Re : Script totalement inutile donc rigoureusement indispensable.
Bonjour,
Il y a également ceci (garanti même sans connexion internet )
awk -F"[()]" '/VERSION=/{print $2}' /etc/os-release
«C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!»
Coluche
Hors ligne
#3 Le 02/11/2021, à 10:50
- geole
Re : Script totalement inutile donc rigoureusement indispensable.
Bonjour
Je n'ai pas la fibre ni le câble. Seulement une ligne tétléphonique
Il ne faut que deux secondes pour obtenir cette réponse
a@a:~$ date; ~/.local/bin/search_ubuntu_complete_codename; date
mar. 02 nov. 2021 00:06:16 CET
Focal Fossa
mar. 02 nov. 2021 00:06:18 CET
NOTA
La première ligne
cat << EOF | tee ~/.local/bin/search_ubuntu_complete_codename
peut être remplacée par
mkdir ~/.local/bin
cat << EOF >> ~/.local/bin/search_ubuntu_complete_codename
Dans mon contexte le répertoire n'existait pas et il n'y a eu aucun message d'erreur
NOTA
Je n'ai pas compris l'intérêt de cette commande
. ~/.bashrc
qui a donné comme réponse
a@a:~$ . ~/.bashrc
bash: /home/a/.bashrc: Aucun fichier ou dossier de ce type
a@a:~$
Les grilles de l'installateur https://doc.ubuntu-fr.org/tutoriel/inst … _subiquity
"gedit admin:///etc/fstab" est proscrit, utilisez "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY xdg-open /etc/fstab" Voir https://doc.ubuntu-fr.org/gedit
Les partitions EXT4 des disques externes => https://forum.ubuntu-fr.org/viewtopic.p … #p22697248
Hors ligne
#4 Le 03/11/2021, à 12:14
- nany
Re : Script totalement inutile donc rigoureusement indispensable.
Il y a également ceci (garanti même sans connexion internet )
awk -F"[()]" '/VERSION=/{print $2}' /etc/os-release
Tu ne pouvais pas venir le dire plu tôt !
Ça m’aurait évité de pondre ce script totalement inutile (titre bien choisi pour le coup).
Du coup, j’ai exploré le fichier os-release dans différentes distributions pour voir comment l’exploiter dans les fichier *shrc respectifs.
J’ai donc créé des conditions :
if [ -f /etc/os-release ]; then
. /etc/os-release
fi
FullName=""
if [ -n "$NAME" -a -n "$VERSION" ]; then
FullName=" $NAME $VERSION -"
elif [ -n "$PRETTY_NAME" ]; then
FullName=" $PRETTY_NAME -"
elif [ -n "$NAME" ]; then
FullName=" $NAME -"
fi
Ce bloc est à placer dans le fichier avant le renseignement de la variable PS1.
Dans Ubuntu, je l’ai mis juste après HISTFILESIZE=2000
Il reste alors à mettre la variable FullName quelque par dans la valeur de PS1.
PS1='***$FullName***'
Avec ça, vous devriez avoir un prompt qui affiche le nom complet de la distribution.
Voici le récapitulatif des modifications que j’ai apportées dans Ubuntu.
~$ diff /etc/skel/.bashrc ~/.bashrc
21a22,33
> if [ -f /etc/os-release ]; then
> . /etc/os-release
> fi
> FullName=""
> if [ -n "$NAME" -a -n "$VERSION" ]; then
> FullName=" $NAME $VERSION -"
> elif [ -n "$PRETTY_NAME" ]; then
> FullName=" $PRETTY_NAME -"
> elif [ -n "$NAME" ]; then
> FullName=" $NAME -"
> fi
>
60c72,75
< PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
---
> PS1='\n┏[$FullName \D{%A %d %B %Y} ]\n\
> ┣ ${debian_chroot:+($debian_chroot)}\
> \[\033[01;32m\]\u@stupidcomputer\[\033[00m\] :\n\
> ┗▶ \[\033[01;34m\]\w\[\033[00m\]\$ '
62c77,78
< PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
---
> PS1='\n┏[$FullName \D{%A %d %B %Y} ]\n\
> ┣ ${debian_chroot:+($debian_chroot)}\u@stupidcomputer :\n┗▶ \w\$ '
69c85,86
< PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
---
> PS1="\[\e]0;\n┏[$FullName \D{%A %d %B %Y} ]\n\
> ┣ ${debian_chroot:+($debian_chroot)}\u@stupidcomputer :\n┗▶ \w\a\]$PS1"
77c94,95
< test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
---
> test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" \
> || eval "$(dircolors -b)"
88c106,107
< #export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'
---
> #export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;\
> #32:locus=01:quote=01'
97c116,118
< alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
---
> alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal \
> || echo error)" "$(history|tail -n1\
> |sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
117a139,140
> PS2='☛ '
>
Bon, mon prompt est customisé mais on peu voir $FullName dans PS1.
On voit aussi que j’ai également customisé PS2.
Les résultats en images :
Manjaro est particulière, le shell est zsh donc c’est le fichier .zshrc qu’il faut modifier.
De plus, dans ce fichier, il faut remplacer true par false à la deuxième ligne.
Et j’ignore pourquoi mais le rechargement ne marche pas, il faut quitter le terminal et le rouvrir.
En ligne
#5 Le 03/11/2021, à 12:14
- nany
Re : Script totalement inutile donc rigoureusement indispensable.
Je n'ai pas la fibre ni le câble. Seulement une ligne tétléphonique
Il ne faut que deux secondes pour obtenir cette réponsea@a:~$ date; ~/.local/bin/search_ubuntu_complete_codename; date mar. 02 nov. 2021 00:06:16 CET Focal Fossa mar. 02 nov. 2021 00:06:18 CET
Pour évaluer le temps d’exécution d’une commande, on peut utiliser time.
┏[ Ubuntu 20.04.3 LTS (Focal Fossa) - mercredi 03 novembre 2021 ]
┣ nany@stupidcomputer :
┗▶ ~$ time search_ubuntu_complete_codename
Focal Fossa
real 0m0,925s
user 0m0,381s
sys 0m0,024s
┏[ Ubuntu 20.04.3 LTS (Focal Fossa) - mercredi 03 novembre 2021 ]
┣ nany@stupidcomputer :
┗▶ ~$
NOTA
La première lignecat << EOF | tee ~/.local/bin/search_ubuntu_complete_codename
peut être remplacée par
mkdir ~/.local/bin cat << EOF >> ~/.local/bin/search_ubuntu_complete_codename
Dans mon contexte le répertoire n'existait pas et il n'y a eu aucun message d'erreur
Oui, on peut utiliser la redirection mais je préfère tee pour afficher le résultat dans la sortie standard et voir si tout s’est bien passé.
Il n’y a pas d’erreur car la redirection (et tee ?) crée le fichier s’il n’existe pas (ainsi que l’arborescence).
NOTA
Je n'ai pas compris l'intérêt de cette commande. ~/.bashrc
qui a donné comme réponse
a@a:~$ . ~/.bashrc bash: /home/a/.bashrc: Aucun fichier ou dossier de ce type a@a:~$
La commande permet de rechargé .bashrc après les modifications dans celui-ci sans quitter le terminal.
Le point équivaut à la commande source.
Mais c’est très étrange que tu n’aies pas ce fichier dans une Ubuntu.
Pour tenter d’y voir plus clair, donne s’il te plaît le retour de :
ls -lad ~/.* | grep -v "^d"
Dernière modification par nany (Le 03/11/2021, à 17:48)
En ligne
#6 Le 03/11/2021, à 13:05
- Qid
Re : Script totalement inutile donc rigoureusement indispensable.
c’est très étrange que tu n’aies pas ce fichier dans une Ubuntu.
Pour tenter d’y voir plus clair, donne s’il te plaît le retour de :ls -lad ~/.* | grep -v "^d"
Je ne l'ai pas/plus non plus car je préfère carrément passer par le général : bash.bashrc qui est dans etc... En tous cas je vais essayer tout ça...
Enfin j'ai quand-même pas bien compris le pourquoi du besoin des conditions...
"GNU/Linux c'est que du bon mais M$ Windows ce n'est pas si mal"
Référent technique Ubuntu d'un Groupe d'Utilisateur du Libre
plus d'info sur mon profil
Hors ligne
#7 Le 03/11/2021, à 15:40
- geole
Re : Script totalement inutile donc rigoureusement indispensable.
La commande permet de rechargé .bashrc après les modifications dans celui-ci sans quitter le terminal.
Le point équivaut à la commande source.Mais c’est très étrange que tu n’aies pas ce fichier dans une Ubuntu.
Pour tenter d’y voir plus clair, donne s’il te plaît le retour de :ls -lad ~/.* | grep -v "^d"
Bonjour
J'ai maintenant créé le répertoire. Mais je peux le supprimer si besoin
a@a:~$ ls -lad ~/.* | grep -v "^d"
-rw------- 1 a a 12117 nov. 2 16:16 /home/a/.bash_history
-rw-r--r-- 1 a a 0 oct. 29 19:41 /home/a/.sudo_as_admin_successful
a@a:~$
Les grilles de l'installateur https://doc.ubuntu-fr.org/tutoriel/inst … _subiquity
"gedit admin:///etc/fstab" est proscrit, utilisez "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY xdg-open /etc/fstab" Voir https://doc.ubuntu-fr.org/gedit
Les partitions EXT4 des disques externes => https://forum.ubuntu-fr.org/viewtopic.p … #p22697248
Hors ligne
#8 Le 03/11/2021, à 16:54
- Qid
Re : Script totalement inutile donc rigoureusement indispensable.
J'ai maintenant créé le répertoire. Mais je peux le supprimer si besoin
mais de quoi tu parles ?
en plus je t'ai donné un élément de réponse : le bashrc n'est utile en soit que si tu veux une configuration différente du général... sinon tu manipule directement le bash.bashrc pour que ça concerne tout le monde pourvu qu'il n'y ait pas un bashrc de présent pour se prioriser
"GNU/Linux c'est que du bon mais M$ Windows ce n'est pas si mal"
Référent technique Ubuntu d'un Groupe d'Utilisateur du Libre
plus d'info sur mon profil
Hors ligne
#9 Le 03/11/2021, à 17:05
- geole
Re : Script totalement inutile donc rigoureusement indispensable.
Oui, on peut utiliser la redirection mais je préfère tee pour afficher le résultat dans la sortie standard et voir si tout s’est bien passé.
Il n’y a pas d’erreur car la redirection (et tee) crée le fichier s’il n’existe pas (ainsi que l’arborescence).
Voici un nouvel essai dans une autre instance
a@b:~$
cat << EOF | tee ~/.local/bin/search_ubuntu_complete_codename
#!/usr/bin/env python3
# coding: utf8
# ident: 4 spaces
# version: 0.1
#
# auteur: nany
#
# license:
# ----------------------------------------------------------------------------
# "THE BEER-WARE LICENSE" (Revision 42):
# <nany@forum.ubuntu-fr.org> wrote this file. As long as you retain this
# notice you can do whatever you want with this stuff. If we meet some day,
# and you think this stuff is worth it, you can buy me a beer in return. nany
# ----------------------------------------------------------------------------
#
# licence :
# ----------------------------------------------------------------------------
# "LICENCE BEERWARE" (Révision 42):
# <nany@forum.ubuntu-fr.org> a créé ce fichier. Tant que vous conservez cet
# avertissement, vous pouvez faire ce que vous voulez de ce truc. Si on se
# rencontre un jour et que vous pensez que ce truc vaut le coup, vous pouvez
# me payer une bière en retour. nany
# ----------------------------------------------------------------------------
#
# ####################################
# # nécessite python3-mechanicalsoup #
# ####################################
from mechanicalsoup import *
WIKI_URL = 'https://fr.wikipedia.org/wiki/Liste_des_versions_d\'Ubuntu'
def main():
f = open('/etc/lsb-release', 'r')
CodeName = f.readlines()[2].split('=')[1].strip('\n')
f.close()
browser = StatefulBrowser(user_agent='Mozilla/5.0 (compatible)')
browser.open(WIKI_URL)
EOFn()owser.close()ompleteCodeName)Name.lower():derContents().decode('utf8'))
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances... Fait
Lecture des informations d'état... Fait
python3-mechanicalsoup est déjà la version la plus récente (0.10.0-4).
Les paquets suivants ont été installés automatiquement et ne sont plus nécessaires :
fonts-lyx libestr0 libfastjson4
Veuillez utiliser « sudo apt autoremove » pour les supprimer.
0 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.
tee: /home/a/.local/bin/search_ubuntu_complete_codename: Aucun fichier ou dossier de ce type
#!/usr/bin/env python3
# coding: utf8
# ident: 4 spaces
# version: 0.1
#
# auteur: nany
#
# license:
# ----------------------------------------------------------------------------
# "THE BEER-WARE LICENSE" (Revision 42):
# <nany@forum.ubuntu-fr.org> wrote this file. As long as you retain this
# notice you can do whatever you want with this stuff. If we meet some day,
# and you think this stuff is worth it, you can buy me a beer in return. nany
# ----------------------------------------------------------------------------
#
# licence :
# ----------------------------------------------------------------------------
# "LICENCE BEERWARE" (Révision 42):
# <nany@forum.ubuntu-fr.org> a créé ce fichier. Tant que vous conservez cet
# avertissement, vous pouvez faire ce que vous voulez de ce truc. Si on se
# rencontre un jour et que vous pensez que ce truc vaut le coup, vous pouvez
# me payer une bière en retour. nany
# ----------------------------------------------------------------------------
#
# ####################################
# # nécessite python3-mechanicalsoup #
# ####################################
from mechanicalsoup import *
WIKI_URL = 'https://fr.wikipedia.org/wiki/Liste_des_versions_d\'Ubuntu'
def main():
f = open('/etc/lsb-release', 'r')
CodeName = f.readlines()[2].split('=')[1].strip('\n')
f.close()
browser = StatefulBrowser(user_agent='Mozilla/5.0 (compatible)')
browser.open(WIKI_URL)
page = browser.get_current_page()
CompleteCodeNames = page.find(
'table' , 'wikitable').findAll('span' , 'nowrap')
for ccn in CompleteCodeNames:
CompleteCodeName = str(ccn.find('a').renderContents().decode('utf8'))
if CodeName in CompleteCodeName.lower():
print(CompleteCodeName)
browser.close()
main()
a@b:~$
a@b:~$
a@b:~$
a@b:~$
a@b:~$ chmod -c +x ~/.local/bin/search_ubuntu_complete_codename
chmod: impossible d'accéder à '/home/a/.local/bin/search_ubuntu_complete_codename': Aucun fichier ou dossier de ce type
a@b:~$ ls ~/.local
share
a@b:~$
a@b:~$ awk -F"[()]" '/VERSION=/{print $2}' /etc/os-release
Jammy Jellyfish
a@b:~$
a@b:~$ cat <<EOF >>~/.local/bin/search_ubuntu_complete_codename
> ici
> EOF
bash: /home/a/.local/bin/search_ubuntu_complete_codename: Aucun fichier ou dossier de ce type
a@b:~$
Dernière modification par geole (Le 03/11/2021, à 17:15)
Les grilles de l'installateur https://doc.ubuntu-fr.org/tutoriel/inst … _subiquity
"gedit admin:///etc/fstab" est proscrit, utilisez "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY xdg-open /etc/fstab" Voir https://doc.ubuntu-fr.org/gedit
Les partitions EXT4 des disques externes => https://forum.ubuntu-fr.org/viewtopic.p … #p22697248
Hors ligne
#10 Le 03/11/2021, à 17:25
- nany
Re : Script totalement inutile donc rigoureusement indispensable.
Enfin j'ai quand-même pas bien compris le pourquoi du besoin des conditions...
Eh bien parce que les fichiers os-release diffèrent suivant les distributions.
Les conditions que j’ai mises testent la présence de certaines variables.
Il y a aussi un test de l’existence du fichier.
J'ai maintenant créé le répertoire.
Quel répertoire ?
Pour ce qui est du .bashrc, s’il n’existe pas, le shell se base alors sur /etc/bash.bashrc mais je trouve ce dernier beaucoup moins complet.
Donc pourquoi se priver du .bashrc dans le répertoire personnel. En plus ça permet de faire des modifications facilement sans toucher aux fichiers du système.
Donne aussi le retour de :
ls -lA /etc/skel
En ligne
#11 Le 03/11/2021, à 17:35
- geole
Re : Script totalement inutile donc rigoureusement indispensable.
Je parlais du répertoire ~/.local/bin/
@a:~$ ls -lA /etc/skel
total 12
-rw-r--r-- 1 root root 220 févr. 25 2020 .bash_logout
-rw-r--r-- 1 root root 3771 févr. 25 2020 .bashrc
-rw-r--r-- 1 root root 807 févr. 25 2020 .profile
a@a:~$
Les grilles de l'installateur https://doc.ubuntu-fr.org/tutoriel/inst … _subiquity
"gedit admin:///etc/fstab" est proscrit, utilisez "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY xdg-open /etc/fstab" Voir https://doc.ubuntu-fr.org/gedit
Les partitions EXT4 des disques externes => https://forum.ubuntu-fr.org/viewtopic.p … #p22697248
Hors ligne
#12 Le 03/11/2021, à 17:36
- nany
Re : Script totalement inutile donc rigoureusement indispensable.
bash: /home/a/.local/bin/search_ubuntu_complete_codename: Aucun fichier ou dossier de ce type
Ah ben ton message disant que tu n’avais pas d’erreur m’a embrouillé.
Alors, oui, il faut commencer par créer le répertoire bin.
Enfin, bref, de toute façon le script ne sert plus à rien.
En ligne
#13 Le 03/11/2021, à 17:43
- geole
Re : Script totalement inutile donc rigoureusement indispensable.
Alors, oui, il faut commencer par créer le répertoire bin.
Comme quoi la commande tee ne le fabrique pas et ne signale pas d'erreur ce qui n'est pas le cas de la commande >>
Les grilles de l'installateur https://doc.ubuntu-fr.org/tutoriel/inst … _subiquity
"gedit admin:///etc/fstab" est proscrit, utilisez "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY xdg-open /etc/fstab" Voir https://doc.ubuntu-fr.org/gedit
Les partitions EXT4 des disques externes => https://forum.ubuntu-fr.org/viewtopic.p … #p22697248
Hors ligne
#14 Le 03/11/2021, à 17:49
- geole
Re : Script totalement inutile donc rigoureusement indispensable.
Enfin, bref, de toute façon le script ne sert plus à rien.
Il a permis la création de cette commande
echo "$(lsb_release -sd) $(awk -F"[()]" '/VERSION=/{print $2}' /etc/os-release) (migrée depuis $(cat /var/log/installer/media-info)) avec $XDG_CURRENT_DESKTOP sur $XDG_SESSION_TYPE"
Ubuntu 20.04.3 LTS Focal Fossa (migrée depuis Ubuntu 20.04.2.0 LTS "Focal Fossa" - Release amd64 (20210209.1)) avec ubuntu:GNOME sur x11
Dernière modification par geole (Le 03/11/2021, à 17:49)
Les grilles de l'installateur https://doc.ubuntu-fr.org/tutoriel/inst … _subiquity
"gedit admin:///etc/fstab" est proscrit, utilisez "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY xdg-open /etc/fstab" Voir https://doc.ubuntu-fr.org/gedit
Les partitions EXT4 des disques externes => https://forum.ubuntu-fr.org/viewtopic.p … #p22697248
Hors ligne
#15 Le 03/11/2021, à 17:49
- Qid
Re : Script totalement inutile donc rigoureusement indispensable.
Qid a écrit :Enfin j'ai quand-même pas bien compris le pourquoi du besoin des conditions...
Eh bien parce que les fichiers os-release diffèrent suivant les distributions.
Les conditions que j’ai mises testent la présence de certaines variables.
Il y a aussi un test de l’existence du fichier.
ah ok... effectivement prompt testé et approuvé sur ubuntu et sur debian
là où par contre la commande bash équivalente proposée par lynn au post 2 ne marche pas sur débian
edit :
création de cette commande
echo "$(lsb_release -sd) $(awk -F"[()]" '/VERSION=/{print $2}' /etc/os-release) (migrée depuis $(cat /var/log/installer/media-info)) avec $XDG_CURRENT_DESKTOP sur $XDG_SESSION_TYPE" Ubuntu 20.04.3 LTS Focal Fossa (migrée depuis Ubuntu 20.04.2.0 LTS "Focal Fossa" - Release amd64 (20210209.1)) avec ubuntu:GNOME sur x11
commande qui ne marchera pas suivant le système vu le début de mon post
Dernière modification par Qid (Le 03/11/2021, à 17:51)
"GNU/Linux c'est que du bon mais M$ Windows ce n'est pas si mal"
Référent technique Ubuntu d'un Groupe d'Utilisateur du Libre
plus d'info sur mon profil
Hors ligne
#16 Le 03/11/2021, à 18:03
- nany
Re : Script totalement inutile donc rigoureusement indispensable.
Je parlais du répertoire ~/.local/bin/
Oui, j’ai compris après ta réponse à Qid.
@a:~$ ls -lA /etc/skel total 12 -rw-r--r-- 1 root root 220 févr. 25 2020 .bash_logout -rw-r--r-- 1 root root 3771 févr. 25 2020 .bashrc -rw-r--r-- 1 root root 807 févr. 25 2020 .profile a@a:~$
Alors si tu veux un « meilleur » comportement du shell, recopie ces fichiers dans ton répertoire personnel :
cp -nvt ~ /etc/skel/.{ba,pr}*
En ligne
#17 Le 03/11/2021, à 18:07
- Qid
Re : Script totalement inutile donc rigoureusement indispensable.
Alors si tu veux un « meilleur » comportement du shell, recopie ces fichiers dans ton répertoire personnel :
cp -nvt ~ /etc/skel/.{ba,pr}*
ou comme je l'ai déjà dit : "joue directement avec le /etc/bash.bashrc"
"GNU/Linux c'est que du bon mais M$ Windows ce n'est pas si mal"
Référent technique Ubuntu d'un Groupe d'Utilisateur du Libre
plus d'info sur mon profil
Hors ligne
#18 Le 03/11/2021, à 18:16
- Qid
Re : Script totalement inutile donc rigoureusement indispensable.
geole a écrit :création de cette commande
echo "$(lsb_release -sd) $(awk -F"[()]" '/VERSION=/{print $2}' /etc/os-release) (migrée depuis $(cat /var/log/installer/media-info)) avec $XDG_CURRENT_DESKTOP sur $XDG_SESSION_TYPE" Ubuntu 20.04.3 LTS Focal Fossa (migrée depuis Ubuntu 20.04.2.0 LTS "Focal Fossa" - Release amd64 (20210209.1)) avec ubuntu:GNOME sur x11
commande qui ne marchera pas suivant le système vu le début de mon post
ah mais si en fait elle a marché sur debian... enfin en partie :
echo "$(lsb_release -sd) $(awk -F"[()]" '/VERSION=/{print $2}' /etc/os-release) (migrée depuis $(cat /var/log/installer/media-info)) avec $XDG_CURRENT_DESKTOP sur $XDG_SESSION_TYPE"
cat: /var/log/installer/media-info: Aucun fichier ou dossier de ce type
Debian GNU/Linux 11 (bullseye) bullseye (migrée depuis ) avec sur
un souci d'identification de variable en est certainement la cause : les variables d’environnement ne sont pas les mêmes suivant le système...
"GNU/Linux c'est que du bon mais M$ Windows ce n'est pas si mal"
Référent technique Ubuntu d'un Groupe d'Utilisateur du Libre
plus d'info sur mon profil
Hors ligne
#19 Le 03/11/2021, à 18:23
- nany
Re : Script totalement inutile donc rigoureusement indispensable.
ou comme je l'ai déjà dit : "joue directement avec le /etc/bash.bashrc"
Pour ce qui est du .bashrc, s’il n’existe pas, le shell se base alors sur /etc/bash.bashrc mais je trouve ce dernier beaucoup moins complet.
Donc pourquoi se priver du .bashrc dans le répertoire personnel. En plus ça permet de faire des modifications facilement sans toucher aux fichiers du système.
En ligne
#20 Le 03/11/2021, à 18:30
- Qid
Re : Script totalement inutile donc rigoureusement indispensable.
Qid a écrit :ou comme je l'ai déjà dit : "joue directement avec le /etc/bash.bashrc"
nany a écrit :Pour ce qui est du .bashrc, s’il n’existe pas, le shell se base alors sur /etc/bash.bashrc mais je trouve ce dernier beaucoup moins complet.
Donc pourquoi se priver du .bashrc dans le répertoire personnel. En plus ça permet de faire des modifications facilement sans toucher aux fichiers du système.
j'avoue ne pas m'être amusé à comparer les 2 fichiers originaux mais si tu ne joue pas avec le général ton terminal root ne suivra pas ton bashrc
Dernière modification par Qid (Le 03/11/2021, à 18:31)
"GNU/Linux c'est que du bon mais M$ Windows ce n'est pas si mal"
Référent technique Ubuntu d'un Groupe d'Utilisateur du Libre
plus d'info sur mon profil
Hors ligne
#21 Le 03/11/2021, à 18:37
- nany
Re : Script totalement inutile donc rigoureusement indispensable.
Ranafout’, je ne me connecte pas en root mais j’utilise sudo.
En ligne
#22 Le 03/11/2021, à 19:10
- Tawal
Re : Script totalement inutile donc rigoureusement indispensable.
Hello,
mais si tu ne joue pas avec le général ton terminal root ne suivra pas ton bashrc
Tu peux aussi placer un .bashrc dans /root.
Ainsi, tu peux avoir 2 comportements différents selon que tu es utilisateur ou root.
C'est mon cas
Le savoir n'a d’intérêt que si on le transmet.
Useless Use of Cat Award
Filenames and Pathnames in Shell: How to do it Correctly
À chaque problème sa solution, à chaque solution son moyen, si pas de moyen, toujours le problème !
Hors ligne
#23 Le 03/11/2021, à 19:18
- Qid
Re : Script totalement inutile donc rigoureusement indispensable.
Qid a écrit :mais si tu ne joue pas avec le général ton terminal root ne suivra pas ton bashrc
Tu peux aussi placer un .bashrc dans /root.
Ainsi, tu peux avoir 2 comportements différents selon que tu es utilisateur ou root.
C'est mon cas
Certes c'est une solution...
"GNU/Linux c'est que du bon mais M$ Windows ce n'est pas si mal"
Référent technique Ubuntu d'un Groupe d'Utilisateur du Libre
plus d'info sur mon profil
Hors ligne