- Quelques commandes méconnues
- Si certaines applis ne s'ouvrent pas à distance quand on fait un ssh …
- Lire des documents MS Office sous OpenOffice sans problèmes de mise …
- Configurer son shell
- Avoir les accents avec un clavier QWERTY sous linux
- Changer le layout d'un clavier sous Fedora
- Prendre le contrôle à distance du PC Windows de chez vous depuis les …
- Ne plus avoir à taper de mot de pass (password) pour se loguer en ssh …
- Réussir enfin à gérer les conversions d'unités
- Problème avec le prompt après une mise à jour
Table of Contents
- -
- Spécial nouveaux entrants
- Comptes utilisateurs et authentification
- Introduction
- Demande de compte
- Charte Informatique du LPSC
- Changer son mot de passe
- Certificats electroniques
- -
- Support aux utilisateurs
- Traitements des demandes, tickets urgents
- Aide au developpement
- -
- Postes de travail
- Postes de travail
- PC de pret
- Configurations et problemes rencontres
- -
- Acces au reseau
- Reseaux filaire et wifi
- Accueil de visiteurs
- Reseau EDUROAM
- Acces externes
- Acces externe par VPN
- -
- Impressions, photocopies, scanner
- Installation et utilisation des imprimantes
- Suivi des impressions
- -
- Stockage centralise
- Introduction
- Utilisation des espaces de stockage du LPSC
- -
- Messagerie / Outils collaboratifs
- Messagerie
- Salles de reunion et videoconference
- Espaces internet
- Surveillance MaJ page web
- Synchronisation ATRIUM
- Liens vers outils collaboratifs
- -
- Calcul et serveurs
- Introduction
- Ferme locale
- Systeme de batch HTCondor
- Serveurs Windows
- Logiciels sous licence
- -
- Divers
- Mise a jour des informations Annuaire IN2P3
- Bases de Linux
- Trucs et astuces sous Linux
- Trucs et astuces de programmation
- SSH
- X2GO
- FileZilla
- SSHFS
- Latex
- Doxygen
- -
- Pour les administrateurs
- Index des pages de l'espace utilisateur
- Espace administrateur acces restreint
Trucs & Astuces
Quelques commandes méconnues
grep expression fichier
-
Recherche une expression dans un fichier. Très puissant, consulter man grep pour en savoir plus. Par exemple
grep -E "[Bb]osons? [A-Z].*decroi|[Ff]ermions" particules.txt
va vous trouver tous les bosons (avec/sans majuscule ([Bb]), singulier ou pluriel (s?)) dont le nom est une majuscule ([A-Z]) qui decroissent ou vont decroitre (.* remplace n'importe quoi) ou (|) des fermions (pluriels, mais avec ou sans majuscule) dans le fichier particules.txt. file f
- Détermine le type du fichier f.
sed -i "s/avant/apres/g" test.txt
- Remplace tous les avant par apres dans test.txt ('/' peut être remplacé par n'importe quel autre caractère)
sed -e "s/avant/apres/g" test.txt>test_modifie.txt
- Si vous êtes plus prudent... il va copier test.txt dans test_modifie.txt en remplaçant les 'avant' par des 'apres'
batch -f file
- Faire du batch en local : exécute en arrière plan les commandes données dans file (permet de fermer la session). atq permet de lister les jobs en cours.
watch cmd
/repeat n cmd
- Exécute périodiquement/n fois la commande cmd. Essayez : watch atq
touch fichier
- Change la date de modification du fichier ou le crée s'il n'existe pas.
Si certaines applis ne s'ouvrent pas à distance quand on fait un ssh -X ou -Y
Cela est vrai en particulier celles utilisant GTK
La solution est de faire un "unset XDG_RUNTIME_DIR"
Lire des documents MS Office sous OpenOffice sans problèmes de mise en page
Il faut utiliser les polices Liberation crées par Redhat et disponibles ici. Télécharger le fichier ttf, le décompresser (tar xvzf file.tar.gz) et copier le répertoire dans ~/.fonts/. Les polices Liberation sont maintenant installées.
Sous OpenOffice, aller dans outils/options/polices (tools/options/fonts). Et demander à remplacer (Toujours) :
- Times New Roman par Liberation Serif
- Arial par Liberation Sans
Normalement vous ne devriez plus avoir de problèmes de mise en page en ouvrant des documents fait sous MS Windows. Ces polices sont légèrement différentes mais leurs tailles sont identiques à celles de Microsoft.
Configurer son shell
Le shell est l'interpréteur de commandes : c'est lui qui affiche le contenu d'un répertoire lorsque vous tapez ls. Pour une introduction aux commandes unix/linux, voir par exemple ici.
Il existe deux grandes familles de shell sous linux : le bourne shell et dérivés (sh, bash, zsh...) et le c-shell et dérivés (csh, tcsh...). Pour savoir quel type de shell vous utilisez, tapez simplement ps dans un terminal. Ce qui suit est fait pour le csh mais doit pouvoir s'adapter aux shell de type sh.
Lorsque vous ouvrez une session ou un terminal, le fichier ~/.cshrc est lu, c'est lui qui configure le shell (.zshrc en zsh, .bashrc/.profile/.bash_aliases sous bash).
Pour commencer
Rajoutez dans votre ~/.cshrc les commandes suivantes :
set prompt="%S[%m]%s%B%~%b(%?)>" # prompt line set history=100 # previous commands to remember set savehist=100 # number of commands to save across sessions set autolist = on # possible completions are given with tab set visiblebell # visible bell
Le prompt est ce qui s'affiche dans le terminal avant chaque commande. Il existe plusieurs options (faire man csh pour la liste complète) dont :
- %/, %~ : the current working directory.
- %h, %!, ! : the current history event number.
- %M, %m : the full hostname, the hostname up to the first '.'.
- %S (%s) : start (stop) standout mode (reverse color).
- %B (%b) : start (stop) boldfacing mode.
- %U (%u) : start (stop) underline mode.
- %t, %@, %T, %p, %P : time in various formats
- %% A single '%'.
- %d, %D, %w, %W, %y, %Y : day/month/year in various formats
- %? The return code of the command executed just before the prompt.
history et savehist concernent les commandes dont le shell se souvient et qui sont accessibles avec les touches haut et bas. autolist propose une complétion lorsque l'on utilise la touche tabulation. Et visiblebell supprime les beep sonores.
Il est aussi possible d'avoir les messages affichés par linux en français en configurant la variable LC_ALL :
setenv LC_ALL fr_FR
Les alias
Les alias permettent de définir de nouvelles commandes ou de redéfinir des commandes existantes. Il suffit de faire alias nom "commande". Certains sont particulièrement utiles comme :
alias ls "ls --color" # l'affichage du contenu du répertoire est coloré alias grep "grep --colour=auto" # l'affichage de grep (recherche) est coloré alias ssh ssh -X # connection à une machine avec éléments graphique alias pss "ps waux | grep $USER" # affichage de tous les jobs de l'utilisateur # nettoyer les fichiers temporaires alias clean 'echo "rm -f .*~ *~ *.bak core #*#" ; rm -f .*~ *~ *.bak core #*#'
À vous de rajouter ceux qui vous seront pratiques. Pour définir automatiquement les alias à chaque connection, mettez ces commandes dans votre ~/.cshrc.
Les complétions
La plupart des commandes proposent une complétion quand vous appuyez sur TAB. Par exemple ls MesRes[TAB] complétera la commande en ls MesResultats. Mais il est possible d'aller plus loin avec :
complete kill 'p/*/`ps -u $USER | awk \{print\ \$1\}`/' complete alias 'p/1/a/' complete man 'p/*/c/' complete set 'p/1/s/' complete true 'p/1/x:Truth has no options./' complete cd 'p/1/d/'
qui feront que kill [TAB] proposera une liste de PID à tuer, alias [TAB] la liste d'alias, etc. et que cd [TAB] ne proposera que des répertoires. A rajouter dans le .cshrc
Pour aller plus loin
Il est possible de redéfinir des raccourcis clavier du shell avec bindkey. Tapez :
- bindkey -u pour voir l'aide
- bindkey -l pour voir la liste des commandes
- showkey -a pour le code des touches
Par exemple :
bindkey '^[[3~' delete-char bindkey '^[[H' beginning-of-line bindkey '^[[F' end-of-line bindkey -b C-r i-search-back
Les trois premières commandes permettent de redéfinir les touches delete, home et end qui posent parfois problèmes. La quatrième permet de faire une recherche dans l'historique avec Ctrl+r (essayez, c'est très pratiques).
Avoir les accents avec un clavier QWERTY sous linux
xmodmap
Une solution : reconfigurer le clavier avec xmodmap. Cela permet par exemple d'avoir 'é' avec AltGr+e, 'à' avec AtlGr+a, etc. (cf. http://www.eleves.ens.fr/home/didier/ConfigClavier/).
Récupérer le fichier .xmodmaprc ici et copier le là où vous voulez (c'est un fichier caché), par exemple dans votre HOME. Il suffit de faire xmodmap .xmodmaprc pour reconfigurer le clavier. Vous avez alors les accents avec
AtlGr + | e | r | d | f | c | q | a | h | u | j | i | k | o | l |
qui donne | é | è | ê | ë | ç | â | à | ù | û | ü | î | ï | ô | ö |
Pour automatiser ça, il suffit de mettre xmodmap ${HOME}/.xmodmaprc dans votre .cshrc (ou .zshrc/bashrc si vous utilisez zsh/bash).
Le problème c'est que tout votre environnement est affecté, et que si vous vous connectez depuis n'importe quelle machine sur votre compte le clavier sera reconfiguré. Pour éviter cela, il est possible de :
- tester la machine sur laquelle vous voulez faire la modification (hostname)
- tester si vous y êtes connecté à distance (REMOTEHOST)
- créer des commandes pour revenir en arrière.
En csh c'est possible avec :
# Save current config xmodmap -pke > ~/.xmodmap-default # create alias alias keysnew xmodmap ~/.xmodmaprc alias keysfr 'xmodmap /usr/share/xmodmap/xmodmap.fr-2' alias keysus 'xmodmap /usr/share/xmodmap/xmodmap.us' alias keysprev xmodmap $HOME/.xmodmap-default # use keysnew for my machine if ( !($?REMOTEHOST) ) then set s = `hostname` if ( $s == "lpsc0000x.in2p3.fr" ) then echo "use new keys" keysnew endif endif
à rajouter dans votre .cshrc. Dans ce cas e clavier ne sera reconfiguré que sur la machine lpsc0000.in2p3.fr et vous pourrez revenir en arrière avec la commande keysprev.
Compose key
Une solution plus simple sous KDE est d'utiliser une touche 'Compose' qui permet de combiner des symboles. Par exemple Compose+`+e -> è, Compose+/+O -> Ø
Perso j'affecte l'inutile touche CapsLock pour faire Compose (d'autres choix sont possible).
Cela se fait sous: KDE | Settings | Keyboard | Key Bindings | Position of the Compose Key | Caps Lock
Changer le layout d'un clavier sous Fedora
Ouvrir un terminal et entrer les commandes suivantes
localectl status localectl set-keymap fr (ou us) localectl set-x11-keymap fr (ou us) localectl status
Il faut redemarrer le serveur X ou rebooter la machine
Prendre le contrôle à distance du PC Windows de chez vous depuis les PC Linux du labo
Si le PC chez vous est sous Windows Vista >= Pro ou XP Pro
Sur le PC à la maison, autorisez la prise de contrôle à distance dans le menu système du panneau de configuration (Attention pour que cela fonctionne il faut un mot de passe à votre compte Windows)
Sous le PC Linux au labo vous pourrez alors utiliser le logiciel RDesktop (utilisé aussi pour pour les sessions Windows du LPSC) La commande est la suivante :
rdesktop 88.161.202.68 (remplacer par l'IP de votre PC à la maison)
Si le PC chez vous est sous une autre version de Windows ou que RDesktop n'est pas installé sur le PC du labo
Dans ce cas vous pouvez utiliser le logiciel VNC qui est integré dans 90% des Linux mais plus lent que RDesktop.
Sur le PC à la maison, téléchargez le logiciel RealVNC Free Edition for Windows à cette adresse : http://www.realvnc.com/cgi-bin/download.cgi . Il contient à la fois le serveur et le client mais ici seul le serveur nous intéresse (Attention à correctement configurer votre firewall!).
Sur le PC Linux du labo, deux possibilités :
- Le VNC est déjà installé et dans ce cas vous pouvez utiliser en ligne de commande :
/usr/bin/vncviewer 88.161.202.68 (remplacer par l'IP de votre PC à la maison)
- VNC n'est pas installé et dans ce cas vous pouvez à la même adresse que tout à l'heure télécharger une version linux du viewer.
Ne plus avoir à taper de mot de pass (password) pour se loguer en ssh sur une autre machine du labo
Commencer par exécuter dans un terminal la commande suivante :
ssh-keygen -t rsa
Cette commande crée 2 fichiers dans le répertoire ~/.ssh: un fichier id_rsa et un fichier id_rsa.pub. Il suffit ensuite d'insérer le contenu du fichier id_rsa.pub dans les fichiers ~/.ssh/authorized_keys (cat id_rsa.pub >> authorized_keys) et ~/.ssh/authorized_keys2 (celui-ci ne semble pas nécessaire).
Réussir enfin à gérer les conversions d'unités
Toutes les unités de mesure que vous avez toujours rêvé de connaître (ex: la chopine impériale, l'amphore romaine et bien d'autres) ont été répertoriées pour vous à cette adresse : http://fr.wikipedia.org/wiki/Conversion_des_unit%C3%A9s. Et pour des conversion de base des unités d'accélération, de masse ... il existe un site qui fait tout ça pour vous (il suffit de lui demander !!!!): http://1000conversions.com/.
Problème avec le prompt après une mise à jour
Si suite à une mise à jour, votre prompt est changé de
[13:26 user@lpsc1121x ~]
en
777;notify;Command completed;jk[13:26 user@lpsc1121x ~]$
Pour annuler cette modification, il suffit de commenter la ligne :
sudo emacs /etc/profile.d/vte.sh
...
_vte_prompt_command() {
...
#printf "\033]777;notify;Command completed;%s\007\033]0;%s@%s:%s\007%s"
"${command}" "${USER}" "${HOSTNAME%%.*}" "${pwd}" "$(vte_osc7)"
}
Networkmanager (nmcli)
Configurer une interface de réseau en utilisant les fichiers ifcfg-name, où le suffixe de name désigne le nom du périphérique
Affiche des interfaces actifs et inactifs nmcli dev status ou nmcli device status
Liste le profil des connexions nmcli con show ou nmcli connection show
Montre en détails les paramètres de la connexion enp1s0 nmcli connection show id enp1s0
Désactive la connexion enp1s0 nmcli connection down enp1s0
Active la connexion enp1s0 nmcli connection up enp1s0
Pour recharger une configuration changée dans le fichier manuellement nmcli con load /etc/sysconfig/network-scripts/ifcfg-enp1s0
Pour recharger tous les interfaces réseaux nmcli con reload
Pour modifier la propriété d'un paramètre de la connexion enp1s0 nmcli con modify enp1s0 connection.autoconnect yes
Pour enlever la mac adresse aléatoire nmcli c modify LPSC 802-11-wireless.mac-address-randomization never
Ensuite il faut arrêter la connexion nmcli c down LPSC
et la recharger nmcli c up LPSC
A partir de Fedora 37, les fichiers ne se trouve plus dans /etc/sysconfig/network-scripts/ mais dans /etc/NetworkManager/system-connections/ et il s'appelle eno1.nmconnection
Ce qu'il faut faire pour mettre une ip fixe désormais
2: ens32: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:50:56:b6:fa:a7 brd ff:ff:ff:ff:ff:ff altname enp2s0 inet 134.158.40.165/21 brd 134.158.47.255 scope global noprefixroute ens32
valid_lft forever preferred_lft forever
nmcli con modify eno1 IPv4.address 134.158.xxx.xxx nmcli con modify eno1 IPv4.gateway 134.158.xxx.xxx nmcli con modify eno1 IPv4.dns 134.158.xx.xxx nmcli con modify eno1 IPv4.method manual nmcli con load eno1.nmconnection nmcli con down eno12: ens32: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 00:50:56:b6:fa:a7 brd ff:ff:ff:ff:ff:ff altname enp2s0 inet 134.158.40.165/21 brd 134.158.47.255 scope global noprefixroute ens32 valid_lft forever preferred_lft forever nmcli con up eno1
Si après la commande nmcli dev status
la connexion eno1 est toujours en rouge après un reboot, il faut éditer le fichier eno1.nmconnection
et mettre autoconnect=yes
Après un reboot du pc, elle devrait être en vert
Attachments (1)
- xmodmaprc (5.0 KB ) - added by 8 years ago.
Download all attachments as: .zip