Retour au Menu Principal

Quelques p'tites astuces
avec terminal.app et autres applications

(Dernière mise à jour : 06 Aout 2006)

[Dans tout ce qui précède le caractère "%" représentera le prompt du Shell, # le prompt de la console, et > le prompt ftp, attention aussi de bien respecter les espaces dans les lignes de commandes qui sont proposées.]


La plupart de ces astuces ont été données sur fcomx (fr.comp.os.mac-os.x)


Quelques commandes usuelles
Pour analyser les mots de passe
Commandes marrantes
Pour installer un programme sous Shell
Pour Lire les programmes installables sous Fink
Pour effacer un ensemble de fichiers ( par exemple contenant "truc")
Pour modifier le fichier qui est exécuté au démarrage de XDarwin
Pour modifier le fichier qui est exécuté au démarrage de tcsh ( terminal.app )
Pour modifier le fichier qui est exécuté à démarrage de terminal.app
Pour créer un fichier configure dans le cas où seul configure.in est présent
Pour lancer une analyse du disque en mode single user
Mise à jour fink
Comment effacer les éléments de Corbeille avec terminal.app (Astuce donnée par Fte)
Pour copier d'ordinateur à ordinateur en connaissant l'IP
Prendre la main à distance d'un ordinateur en connaissant son IP
Pour rajouter des fichiers "unstable" installables par fink
Mise à jour des logiciels finkables
Désinstallation par fink de application_que _j'ai_installée
Lister les bibliothèques dynamiques
Quelques commandes Système
Mais où apparait via le terminal le CD que je viens d'introduire ?
Comment puis-je lire en mode offline les news avec un logiciels online ? (Astuce donnée par Julien Salort)
Comment ouvrir n'importe quelle  application en utilisant le terminal?
Comment changer l'annonce du terminal ?
Exporter le man d'une commande pour le lire dans un traitement de texte.
Comment éjecter un support monté sur le Finder (zip, CD, DVD, disquette) ? (Astuce donnée par Mathias)
Comment savoir depuis combien de temps, l'ordinateur fonctionne ?
Créer la commande apropos qui permet d'exécuter une recherche de commande par mot clé.
Comment télécharger un fichier qui est sur un serveur ftp avec terminal.app ? (Astuce donnée par Julien Salort)
Comment sauver la base NetInfo "à la main" ? (Astuce donnée par Laurent Pertois)
Comment puis-je connaître mon chemin de recherche (PATH) ?
Quelles sont les permissions courantes et leurs valeurs numériques associées ?
Est-il possible de rendre plus performantes encore l'utilisation des lignes de commandes ?
Comment monter des images disques directement via http et le terminal ? (Astuce donnée par Julien Jalon)
Une astuce pour taper les lettres accentuées sous tcsh ? (Astuce donnée par Paul Gaborit)
Fink - Quel package a installé truc_bidule ? (Astuce donnée par Julien Salort)
Puis-je aspirer un site web via terminal.app ?
Jaguar réalise des captures d'écran en .pdf... comment puis-je les transformer en un format d'images (jpg, tiff) via le terminal ?
Jaguar ne reconnait plus ll
Tunneling SSH, kesako ? (Explications données par Laurent Pertois)
Connaître les dates événements du jour ? (Astuce donnée par François Jacquemin)
[CUPS] Comment utiliser une BJC-3000 sous MacOS 10.2.x
Problème MTU réglé sous terminal.app (MacOS X et PPPoE) (Astuce donnée par JL Peuriere)
Comment personnaliser le prompt de terminal.app ?
Installer un man en français
Mise à jour vers Jaguar : comment franciser les dossiers gérés par le système (Music, Pictures, Users...) ? (Astuce donnée par Laurent Pertois)
Changer la MTU par le terminal
Clavier azerty avec X11.app (via script shell)
TERM_PROGRAM: Undefined variable (Astuce donnée par Laurent Pertois)
Clavier français sous X11.app (Astuce donnée par Jayce Piel)
Installation X11.app Exemples de .xinitrc, .tcshrc et .xModmap avec X11.app
Connaître PATH, MANPATH et INFOPATH en une seule commande (Astuce donnée par Nicolas Michel)
Connaître les variables internes du shell courant avec la commande 'set' (Astuce donnée par Frédéric Goudal)
X11, XFree86, fink...kesako (Précisions données par Laurent Pertois)
Comment paramétrer xterm pour qu'il ait un ascenseur à droite et soit capable de mémoriser 1000 lignes ?
Rendez-Vous, késako ? (Précisions données par Laurent Pertois)
Comment killer avec terminal.app une application qui plante ? (Astuces données par Jérôme Lebel et Laurent Pertois)
Dossier "Temporary Items" qui se crée. Comment y remédier ? ( Astuce donnée par Guillaume Gete)
Supprimer les autres langues (autres que French.lproj et english.lproj) (Astuce donnée par Jayce Piel, modifiée par Julien Salort)
Gravure d'un CD haute capacité sous MacOS X 10.3
Comment renommer un ensemble de fichiers au terminal ?
Synchroniser un backup

Plus d'informations sur ces commandes peuvent être obtenues grâce à terminal.app
en tapant :
% man Nom_de_la_commande
ls
Liste les fichiers et les répertoires.
Options principales de ls
Option
Rôle
-a
Affiche tous les fichiers, y compris ceux cachés, exclut . et ..
-F
Indique les types de fichiers." /" = répertoire; "*" = exécutable, "@" = lien symbolique, le reste correspond à des fichiers normaux.
-m
Affiche une liste d'éléments séparés par des virgules (très pratique pour une longue liste)
-s
Affiche la taille (en blocs) des fichiers. Un bloc représente 1024 octets, ce qui fait que multiplier par 1000 donne une approximation du poids en octets du fichier.
-l
Produit un listage long des fichiers et des répertoires.
-R
Affiche récursivement les répertoires et  leur contenu.
-t
Affichage trié par date de dernière modification.
-x
Affichage trié ligne par ligne.

Il est bien sûr possible de combiner ces différentes options
file mon_fichier
Analyse les données et identifie le type de fichier de mon_fichier
mkdir
Crée un répertoire du nom donné en paramètre

% mkdir -p
permet de créer des répertoires et des sous-répertoires d'un seul coup
cd directory
Permet de changer de répertoire

% cd /Users/toto
permet ainsi de se positionner dans le répertoire de toto qui est lui même à l'intérieur du répertoire Users.
cd ~
Se positionne dans le répertoire de l'utilisateur courant
cd / 
Se positionne dans le répertoire racine
cd ..
Se psoitionne dans le répertoire immédiatement supérieur.
cd  -
Petit truc, cette commande permet de revenir dans le répertoire appelé par
le précédent cd
pwd
Affiche le 'path' (chemin) du répertoire actif
cp fichier1 fichier2
Copie le fichier1 et le renomme fichier2
mv fichier1 fichier2
Tranfére ou renomme le fichier1 en le fichier2
rm mon_fichier
Efface mon_fichier
rm  -r mon_repertoire
Efface récursivement un répertoire, ici mon_repertoire
rmdir
Efface un répertoire s'il est vide.
cat
Concaténer des fichiers et les afficher sur la sortie.
% cat -v monFichier
Une fonctionnalité très utile est -v car elle permet d'afficher n'importe quel fichier du système, exécutable ou non, transformant tous les caractères non-imprimables (ou ceux qui bloquerait le terminal) dans un format spécial.
more
Filtre lecteur de fichier. L'on peut pipeter le résultat d'une commande
vers « more ». Très pratique si l'output de la commande est important :
« commande | more ».
head
Affiche les premières lignes d'un fichier.
% head -10 mon_fichier
affichera les 10 premières lignes de mon_fichier
tail
Affiche la dernière partie d'un fichier.
% tail -10 mon_fichier
affichera les 10 dernières lignes de mon_fichier
wc
Calcule le nombre de lignes, de mots ou de caractères d'un fichier en tapant
% wc mon_fichier

% wc -l mon_fichier
affiche le nombre de lignes seulement

% wc -w mon_fichier
affiche le nombre de mots seulement

% wc -c mon_fichier
affiche le nombre de caractères seulement
less
Permet lire un fichier sans l'éditer (c'est-à-dire ouvrir un document afin de pouvoir le modifier)
Les commandes de base sont :
h :afficher l'ensemble des commandes
q: quitter
grep 'truc'
Affiche les lignes correspondant à un motif donné.ici truc

Petite astuce :

% grep -i
permet d'outrepasser la sensibilité à la casse.
wc
Affiche le nombre d'octets, de mots et  de  lignes d'un fichier
arch
hostinfo
Affiche l'architecture de la machine

par exemple
% arch
ppc

Lui préférer hostinfo, plus  porteur d'informations (merci à Laurent Pertois pour cette excellente remarque)

% hostinfo

ach kernel version:  Darwin Kernel Version 5.5:
Thu May 30 14:51:26 PDT 2002; root:xnu/xnu-201.42.3.obj~1/RELEASE_PPC
Kernel configured for up to 2 processors.
1 processor is physically available.
Processor type: ppc750 (PowerPC 750)
Processor active: 0
Primary memory available: 256.00 megabytes.
Default processor set: 44 tasks, 108 threads, 1 processors
Load average: 0.09, Mach factor: 0.95


commande > file
commande >> file
commande < file
Il est possible de rediriger les entrées/sorties à l'aide des symboles '>' et '<' : par exemple, le résultat d'une commande est trop long pour être affiché dans l'écran, ou bien on désire en garder une trace.

Le symbole '>>' insère les données à la fin du fichier, sans écraser ce qu'il contient déjà.

Attention :

commande >> file qui permet d'ajouter à la fin d'un fichier sans en effacer le contenu alors que commande > file va tout effacer pour mettre le nouveau contenu.
commande --version
Affiche la version de la commande spécifiée par exemple
% ls --version
indique
ls (GNU fileutils) 4.0
?
Caractère jocker qui permet de remplacer un seul caractère
*
Caractère jocker qui permet de remplacer un groupe de caractères (lettres ou autre).
commande1 | commande2
Ce mécanisme permet d'enchaîner l'exécution de plusieurs commandes, en branchant la sortie d'une commande sur l'entrée de la suivante, à l'aide du symbole '|'. On le nomme le pipe-line ou tube
cat fichier fichier2 > fichier0
Concatenate le fichier1 et le fichier2 dans le fichier0
sort
Tri les données
Retour en haut

chmod [options] Mon_fichier
Change les droits d'accès du fichier Mon_fichier
CpMac file
Copie Mac (avec section de ressources) (commandes de /Developer/Tools)
tar -xzf mon_fichier.tar.gz
Décompresse mon_fichier.tar.gz
tar -xf fichier.tar
Décompresse un fichier tar
tar -czf fichier fichier.tar.gz
Compresse fichier
sudo ln -s  /Developer/Tools/CpMac /usr/bin/CpMac
Ajoute la commande CpMac
en générant un lien symbolique
avec « ln -s /Developer/Tools/CpMac /usr/bin/CpMac »
Autre façon de faire : Ajout « /Developer/Tools » dans le PATH. Cette technique est applicable pour rajouter de nouvelles commandes issues de « /Developer/Tools »
ln source cible
Crée un lien physique entre source et cible (par la suite, une modification de cible modifiera source)
ln -s source cible
Crée un lien symbolique entre source et cible (on peut assimiler ce type de lien aux alias ou raccourcis)
alias
Permet de visualiser les alias actuellement définis pour les commandes Shell
mount
Affiche les disques (physiques ou virtuels) montés.
env
Affiche votre environnement.
Les principales variables d'environnement qui apparaissent sont :                       
HOME
Votre répertoire de connexion
LOGNAME
Nom de votre compte de connexion
PATH
Liste de répertoires, dans laquelle l'interpréteur de commandes cherche les programmes à exécuter
SHELL
Votre interpréteur de commande (/bin/tcsh par défaut sans MacOS X)
TERM
Le type de terminal que vous utilisez (par défaut vt100)
finger
Affiche des informations sur l'utilisateur courant.

% finger -l
Affiche le nom de login, le nom réel, le terminal, l'autorisation d'écriture (`"*'' signifie  que l'écriture sur le terminal est interdite), le répertoire de l'utilisateur, le temps d'inactivité, la date du login, l'état de sa boîte aux lettres, et le contenu  des  fichiers  ".plan", ".project"  et  ".forward"  de  son  répertoire  de démarrage.

L'état  de la boîte aux lettres est affiché sous la forme ``No Mail.'' si elle est  vide,  ``Mail  last read  DDD MMM ## HH:MM YYYY (TZ)'' si l'utilisateur a consulté sa boîte aux lettres depuis la  dernière arrivée  de courrier, ou ``New mail received ...'',``  Unread since ...'' s'il est arrivé du  courrier depuis la dernière consultation.

Par exemple pour un utilisateur Henri toto dont le login est toto, utilisant terminal.app (tcsh), la  date  de login est affichée sous la forme mois,jour, heure, minutes, à moins qu'elle ne remonte à plus de six mois, auquel cas l'année est affichée à la place de l'heure et des minutes, dans le cas présent, il ne possède pas de boîte aux lettres  :

% finger -l
Login: toto                                    Name: Henri Toto
Directory: /Users/toto                   Shell: /bin/tcsh
On since Fri Aug  2 15:10 (CEST) on console, idle 11:18 (messages off)
On since Fri Aug  2 23:09 (CEST) on ttyp1

No Plan

% finger -l root
Login: root                                Name: System Administrator
Directory: /var/root                    Shell: /bin/tcsh
Never logged in.
Mail forwarded to: /dev/null
No Plan.

Retour en haut

pour analyser les mots de passe
% nidump passwd .
Retour en haut
pour optimiser le système
% sudo update_prebinding /

Quelle signification au terme prebinding ?

Eric Levenez a proposé sur fcomx :"Mise à jour des liens des bibliothèques des applications"ou "Optimisation du lancement des applications"
Retour en haut
Commandes marrantes

% cal 07 2002
Affiche le calendrier du mois de Juillet 2002
     July 2002
 S  M Tu  W Th  F  S
            1  2  3  4  5  6
   7   8  9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31

% date
Affiche la date courante
% bill gates
% \(-
Mais que va répondre le terminal ?
Retour en haut
Pour installer un programme sous Shell

% ./configure

% make

% sudo make install

si erreur "cannot h-guest host.."
% cp /usr/libexec/config.* .

% cp /usr/share/libtool/ltconfig .

% rm config.cache

% ./configure --prefix="/sw"
retour en haut

Pour Lire les programmes installables sous Fink
% fink list
(autre possibilité)
fink.txt créé de la façon suivante : % fink list  > fink.txt
Pour effacer un ensemble de fichiers ( par exemple contenant "truc")
% locate truc > truc.txt

% zsh

# cat truc.txt |while read line

# do

# sudo rm -r "$line"

# done

# exit

% rm truc.txt
retour en haut

Pour modifier le fichier qui est exécuté au démarrage de XDarwin
% pico .xinitrc
(j'utilise pico qui est un excellent éditeur de textes
ou (sous XDarwin)
installé par défaut par MacOS X)
xedit .xinitrc
Retour en haut
Pour modifier le fichier qui est exécuté au démarrage de tcsh ( terminal.app )
% pico .tcshrc
Pour modifier le fichier qui est exécuté à démarrage de terminal.app
% pico .usr/nomutilisateur/.login
Pour créer un fichier configure dans le cas où seul configure.in est présent
% autoconf
Pour lancer une analyse du disque en mode single user
Au démarrage ( après le son) Pomme + S (--> mode single user)

# fsck

# exit
retour en haut

Mise à jour fink
[machin:~] testuser% fink selfupdate
(l'autre méthode plus simple, consiste à utiliser l'installeur qui est désormais téléchargeable
[machin:~] testuser% fink update-all
retour en haut

Comment effacer les éléments de Corbeille avec terminal.app (astuce donnée par Fte dans fcomx)
sudo chflags -R nouchg

Glisser le contenu de la poubelle dans la fenêtre du terminal. Enter. Mot de passe. Ça déverrouille tous les fichiers

% sudo rm -R

et reglissade du contenu de la poubelle. Réenter. Ça efface tout

explications :

sudo = exécuter en tant qu'administrateur

chflags = change les flags, nouchg = no + uchg = pas de flag user change= pas de flag verrouillé

rm = remove = efface

-R = récursif = traverse tous les dossiers et applique la commande à tout fichier vu.
retour en haut

Pour copier d'ordinateur à ordinateur en connaissant l'IP
% scp fichier user@IP: fichier  (pour copier un fichier en connaissant l'adresse IP). Il faut que « Ouverture distante » soit activé : cela active le partage ssh. Si le partage ssh est activé, il est plus simple d'utiliser « sftp ».
Prendre la main à distance d'un ordinateur en connaissant son IP
Si on veut ouvrir une application X distante. Il convient de faire
% xhost ip_distante
% ssh ip_distante
% setenv DISPLAY notre_ip:0.0
% applicationX
Pour rajouter des fichiers unstable installables par fink
% sudo pico  /sw/etc/fink.conf

rajouter alors unstable/main

Trees: local/main stable/main stable/crypto stable/bootstrap local/bootstrap unstable/main
Retour en haut
Mise à jour des logiciels fink
apt-get est la commande qui permet d'installer/updater via la binary
distribution. fink est la commande qui permet d'installer/updater via la
source distribution.
Tableau d'équivalence

Source distribution
Binary distribution
Commande
fink 
apt-get
Installation
fink install package
sudo apt-get install package
Mise à jour
fink selfupdate
sudo apt-get update

fink update-all
sudo apt-get upgrade
Désinstallation par fink de application_que _j'ai_installée
% fink remove application_que _j'ai_installée
Lister les bibliothèques dynamiques de nom_de_l'application
% otool -L /sw/bin/nom_de_l'application
retour en haut

Quelques commandes Système

top
Affiche un tableau évolutif indiquant les programmes en cours sur la machine, et en particulier le temps que leur consacre la machine (indiqué par le CPU en %).
ps
Affiche la liste des processus qui sont lancés.
PID (process identificator) : c'est le numéro du processus.
TT : indique le terminal dans lequel a été lancé le processus.
STAT : indique l'état du processus (R : actif ( running) S : non activé depuis moins de 20 secondes (sleeping) I : non activé depuis plus de 20 secondes (idle) T : arrêté (suspendu)
TIME  COMMAND: indique le temps machine utilisé par le programme
ps -ax
Affiche tous les programmes lancés et les informations.
ps -auxc
Affiche en plus le nom du propriétaire du process et le c supprime le chemin d'accès au process lancé, on a alors que le nom, bien plus lisible (merci à Laurent Pertois pour cette chtite astuce bien pratique !)
ps -ax | grep "bidule"
Affiche les informations relatives au programme bidule.
uname -a
Affiche la version de l'OS et le type de machine.
Mais où apparait via le terminal le CD que je viens d'introduire ?
% cd /Volumes
permet de se positionner dans le répertoire dans lequel figurent tous les disques (CD, zip; partitions...)
Comment puis-je lire en mode offline les news avec un logiciels online ?
(astuce donnée par Julien Salort dans fcomx)
Pour cela, il convient d'installer leafnode.
% fink install leafnode
* Editer /sw/etc/leafnode/config : la syntaxe est simple
La seule chose à faire est mettre le serveur de news
# sudo /sw/sbin/fetchnews -vv
C'est pour télécharger les news
* Ouvrir le logiciel de news en choisissant 'localhost' comme serveur
de news.

Il n'y a même pas besoin de préciser quels groupes on lit. Leafnode le déduit des groupes que tu choisis dans ton lecteur de news.

Donc la seule chose à configurer côté leafnode est l'adresse du serveur de news et éventuellement le login/password du serveur en question.

A noter que l'on peut également utiliser plusieurs serveurs avec leafnode.
On pourra donc consulter des newsgroups disponibles sur des serveurs différents même avec un logiciel non multiserveur.

Comme il est assez peu user-friendly d'avoir à taper sudo /sw/sbin/fetchnews -vv dans le terminal, on peut le  rajouter dans le Script menu.

Conclusion quand on veut lire le news. On choist le script dans le Script Menu pour connecter au serveur (équivalent du Pomme+K)
On peut alors débrancher le modem et ouvrir son lecteur de news online (qui fonctionne alors en off-line)

Question :
Comment est-ce qu'il fait pour déduire quels groupes je lis avec MacSOUP ?

Lorsque MacSOUP va demander à leafnode la liste des articles pour un  groupe donné, il va lui renvoyer un seul article contenant un lisez-moi de Leafnode. Le fait que MacSOUP demande le corps de cet article suffit pour que leafnode sache que l'on consulte le newsgroupe en question.

Ensuite si on ne consulte plus ce newsgroupe pendant une période donnée, leafnode comprends que tu ne le lis plus et ne le relève alors plus.

Autre question : qu'est-ce que c'est que le Script Menu ?
http://www.apple.com/applescript/macosx/script_menu
Ça permet d'avoir un menu qui lance des applescript ou des scripts UNIX.

Retour en haut

Comment ouvrir n'importe quelle  application en utilisant le terminal?
% open -a "Nom_de_l'application"
par exemple : % open -a "iTunes" ou % open -a "TextEdit"
Comment changer l'annonce du terminal ?
% sudo pico /etc/motd
(remplacer par le texte de votre choix, enregistrer  et hop ! c'est fait!)
Retour en haut

Exporter le man d'une commande pour le lire dans un traitement de texte.
% man non_de_la_commande | col -bx > fichier.txt
Comment éjecter un support monté sur le Finder (zip, CD, DVD, disquette) ?
% hdiutil eject /dev/nom_du_disk
ou /dev/nom_du_disk est le vrai chemin du support monté.
Pour identifier ce chemin et le nom_du_disk, deux solutions : soit
% mount
soit
% df

Autre solution :
% disktool -e nom_du_disk 0
ou nom_du_disk est du type disk1

Pour obtenir la liste de tous les disques montés :
% disktool -l

Pour monter une disque :
% disktool -m nom_du_disk 0

Pour démonter un disque :
% disktool -u nom_du_disk 0
Comment savoir depuis combien de temps, l'ordinateur fonctionne ?
% uptime
uptime  affiche sur une ligne les informations suivantes :
L'heure actuelle, la  durée  depuis  laquelle  le  système fonctionne,  le  nombre  d'utilisateurs  actuellement connectés, et la charge système moyenne pour les 1, 5, et  15 dernières minutes.
Retour en haut

Créer la commande apropos qui permet d'exécuter une recherche de commande par mot clé.
% pico /Users/mon_nom_utilisateur .tcshrc
(dans le cas où on utilise tcsh)
Ajouter alors
alias apropos 'man -k \!*'
Enregistrer par ctrl +x
Comment télécharger un fichier qui est sur un serveur ftp avec terminal.app ? (l'exemple d'une mise à jour MacSOUP sur le serveur ftp.sri.ucl.ac.be)
Pour bien comprendre la manipulation, nous allons télécharger la mise à jour de la version française MacSOUP_F-2.5b2.X réalisée par JP Kuypers.

% ftp ftp.sri.ucl.ac.be
Il demande ton nom, tu tapes « anonymous ».
Il dit que c'est ok et que tu peux envoyer ton e-mail comme mot de passe.
Ce que tu fais.

Là tu navigues comme dans le terminal :
cd pour changer de dossier

ftp> cd pub/News/MacSOUP
ftp> get MacSOUP_F-2.5b2.X.sit.hqx

(à noter à la fin du transfert le message suivant :

226 Transfer complete.
112328 bytes received in 2.27 seconds (49588 bytes/s)


Connaissez-vous un soft ftp qui irait plus vite que 2,27 secondes (je suis câblé mais quand même!)  ?  ;-)

Moi, pas ! )

ftp> close
221 - Goodbye

ftp> quit

Quelques explications de base avec ftp :

ftp> ls pour voir les fichiers
ftp> get pour télécharger
Eventuellement, passive pour passer en mode passif.
ftp> close pour fermer la connection au serveur
ftp> quit pour quitter ftp.
ftp> help pour avoir la liste des commandes disponibles.
ftp> prompt

Cette commande permet de contrôler l'interactivité du transfert multiple avec mget ou mput. Si prompt est on, chaque transfert est précédé d'une demande de confirmation. S'il est off, le transfert global est automatique. Cette commande fonctionne comme une bascule, par défaut, le mode est on, une première commande propmt passe le mode à off, un seconde le ramène à on et ainsi de suite.

ftp> mget *.*  (mget  interprète les méta-caractères.)

Pour télécharger l'ensemble d'un fichier du répertoire courant avec mget :

ftp> prompt
Interactive mode off.

ftp> mget *.*

permet de ne plus valider chaque choix..

Paul Gaborit précise :

Et pour être encore plus complet :

ftp> binary

Sinon les transferts se font en mode TEXT.

ftp> mget *

Sinon, on ne récupère que les fichiers dont le nom contient un point.

Enfin, Jean-Pierre Kuypers, fait très justement remarquer que pour accéler encore plus la chose :

% ftp -i nom_du_serveur_ftp

commande qui permet de désactiver le mode interactif; c'est à dire que cela revient au même que taper plus tard ftp> prompt

ftp> mget *

Chacun choisira donc sa solution selon le téléchargement qu'il souhaite mettre en œuvre...  ;-)

En savoir plus sur ces commandes. ou encore ici

On peut également utiliser ncftp qui est installable par fink

% fink install ncftp

Ici autocomplétion, bookmark, jauge.... bref... un superbe soft !

MacSOUP_F-2.5b2.sea.hqx:           ETA:   0:14    0.30/  1.00 MB   51.41 kB/s

La possibilité d'enregistrer un signet est une des fonctions les plus intéressante, puisque :

% quit

Permet d'enregistrer un signet avec tout le paramétrage

par la suite :

% ncftpbookmarks

et hop ! Affichage des signets... et vogue la galère !

Retour en haut

Comment sauver la base NetInfo "à la main" ?
% mkdir .backupni
% cd .backupni
% sudo cp -r /private/var/db/netinfo/local.nidb/ .
(ne pas oublier le « . »)
% cd
Et hop, sauvegardé :)
[Dans l'ordre, on a créé un dossier caché (par le . devant le nom) pour y copier la base, on se place dans le dossier, on copie en tant que root pour garder les droits le dossier local.nidb qui contient la base netinfo et on revient dans le dossier utilisateur avec « cd »]

Pour remettre en place :

Démarrage en single user, fsck et le mount pour mettre la racine en écriture (cf ce qui est écrit au-dessus du prompt), ensuite :

cd /private/var/db/netinfo/
rm -r local.nidb
cp -r /Users/[ton_user]/.backupni/local.nidb/ .

(ne pas oublier le « . »)

# reboot

Et hop.

[Dans l'ordre, on fait ce qu'il faut faire quand on démarre en single user, ensuite on se place dans le dossier qui contient le dossier de la base netinfo, on supprime l'ancienne, on copie la copie de sauvegarde au bon endroit et enfin on redémarre]

Attention, bien faire une sauvegarde quand la base NetInfo est modifiée, par exemple si vous créez un nouvel utilisateur ou après une maj (au cas où celle-ci apporterait des modifs)
Comment puis-je connaître mon chemin de recherche (PATH) ?
La variable PATH contient la liste des répertoires que le système examine afin de trouver les commandes et applications que vous essayez d'éxécuter.

La commande echo qui permet d'afficher une variable particulière pourra donc être utilisée pour visualiser le PATH.

% echo $PATH

Par exemple cette commande donnera pour l'utilisateur toto
/users/toto/bin:/bin:/usr/bin:/usr/local/bin
Quelles sont les permissions courantes et leurs valeurs numériques associées ?
% ls -l
% --rw-rw----    1      toto      0  Aug 03 08:14   mon_fichier

le premier item  est l'indicateur de type, il est noté par une lettre ou un"-", il indique le type de fichier (ici mon_fichier est un fichier normal)

Cet indicateur de type peut prendre les valeurs suivantes :
Lettres
Type de fichier
d
Répertoire
b
Fichier spécial, mode bloc
c
Fichier spécial, mode caractère
l
Lien symbolique
p
Pipe-line
s
Prise réseau (socket)
-
Fichier normal

Les 9 items suivants indique les niveaux de permission (ici mon_fichier est défini en accès lecture/écriture pour le propriétaire et le groupe).

Voici les quelques valeurs de niveaux de permissions exprimées en décimal :

Permission
Valeur
Utilisation
---------
000
Tous les types
r--------
400
Fichiers
r--r--r--
444
Fichiers
rw-------
600
Fichiers
rw-r--r--
644
Fichiers
rw-rw-r--
664
Fichiers
rw-rw-rw-
666
Fichiers
rwx------
700
Programmes et répertoires
rwxr-x---
750
Programmes et répertoires
rwxr-xr-x
755
Programmes et répertoires

La colonne "Permission" ci--dessus est constitiée de 9 caractères qui se divisent en 3*3 et qui correspondent aux permissions accordées aux trois classes d'utilisateurs.

---
---
---
Propriétaire
 Groupe
Autres utilisateurs

Signification des chaînes de permission les plus courantes : (r = (read)  lecture, w =(write) écriture, x = (execute) exécution.

Mode
Signification
---
Pas d'accès
r--
Accès en lecture
r-x
Accès en lecture et exécution
rw-
Accès en lecture et écriture
rwx
Tous les accès possibles
Retour en haut

Est-il possible de maximiser l'utilisation des lignes de commandes ?
Oui, grâce à l'aide des pipe-lines et des filtres afin de réaliser des tâches complexes et sophistiquées.

Filtres :
La redirection des entrées/sorties recouvre tous les symbôles spéciaux qui indique de lire ou d'écrire (en écrasant ou en préservant le contenu). Le symbôle < modifie les entrées, alors que > et >> en modifient les sorties.

Exemple :

% ls -s >  fichier1
va dresser la liste des fichiers du répertoire et va la stocker dans le fichier fichier1
% ls -s >>  fichier1
va faire de même en ajoutant le nouveau résultat à fichier1, % ls -s > fichier1 aurait écrasé fichier1
% cat <  fichier1
indique à l'inverse que le fichier fichier1va être affiché (cat)

Evidemment, nous pouvons combiner l'ensemble de la façon suivante :
% cat -v < fichier2 > fichier3
Ce qui signifie que nous allons lire les données du fichier2 et écrire le résultat dans fichier3.

Un pipe-line est réalisé grâce au symbôle:  |
(qui s'obtient par un alt+ maj+ l)
Il permet de transmettre les résultats d'une commande à une autre, plutôt que de les écrire dans un fichier (comme ci-dessus)
Par exemple, pour connaître le nombre de ligne du fichier /etc/passwd
% cat /etc/passwd | wc -l

On va donc lire le fichier /etc/password (cat)  et en afficher le nombre de lignes. (wc -l)


Autre exemple : comment trier les fichiers du répertoire courant du plus gros au plus petit ?

% ls -s | sort -nr

La commande ls -s indique la taille (en blocs) de chaque fichier, sort -n en fait un tri numérique -r affiche le plus gros en premier.
Retour en haut

Comment monter des images disques directement via http et le terminal ?
Julien Jalon nous en donne la réponse sur fcomx.

% hdid http://adresse_Web/Image_Disque.dmg

vous pouvez tester dans un terminal :

% hdid http://mapage.noos.fr/jalon/DNSUpdateProject/DNSUpdate2.2.dmg
(attention, ce n'est pas la dernière version de DNSUpdate [depuis cette version, le dmg est gzippé pour diverses raisons).

Ça ne marche qu'en lecture seule mais c'est intéressant.
Une astuce pour taper les lettres accentuées sous tcsh ?
Paul Gaborit nous en donne la solution sur fcomx

'tcsh' accepte déjà les accents. Par contre la saisie est particulière : avant
de saisir un accent, il faut le préfixer par Ctrl-V.

en effet, Ctrl-V puis é donne :
% \351
Fink- Quel fichier a installé le package truc_machin_chose ?
Julien Salort nous donne une astuce:

% dpkg -S truc_machin_chose
Puis-je aspirer un site web via terminal.app ?
Pour cela, nous utiliserons wget, qui est fink-installable.

% wget -r le_nom_du_site_que_je_veux_aspirer
Tranformer un .pdf en .jpg par exemple....
Jaguar réalise des captures d'image en .pdf
Pour les transformer en .jpg (par exemple), il suffit d'utiliser imagemagick qui est installable par fink
% convert image.pdf image.jpg
Jaguar ne reconnait plus ll Laurent Pertois nous en donne la solution et l'explication :

% open -e /usr/share/tcsh/examples/README

Et hop :)

En clair, il faut ajouter ça dans les fichiers que je cite au début de la ligne :

/etc/csh.cshrc : source /usr/share/tcsh/examples/rc

/etc/csh.login : source /usr/share/tcsh/examples/login

/etc/chs.logout : source /usr/share/tcsh/examples/logout

En fait, Apple a changé des trucs dans la conf par défaut de tcsh et ce qui était pris en compte avant ne l'est plus (c'était dans /usr/share/init/tcsh/). De même, après les modifs indiquées, les ajouts faits dans ~/Library/init/tcsh/ seront à nouveaux valides.
Tunneling SSH, kesako ? Laurent Pertois nous en rappelle la techique :

% ssh user@ip -L portlocal:machinevisée:portvisé

ex :

% ssh toto@190.0.0.1 -L 10548:127.0.0.1:548

Ensuite, dans le Finder, je fais pomme-k et je tape 127.0.0.1:10548 et là, je me retrouve propulsé via le tunnel sur la machine 190.0.0.1 et son port 548. Le 127.0.0.1 du ssh indique que je me connecte sur le port 548 de la machine sur laquelle je me connecte en ssh, je pourrais aussi indiquer une ip d'une machine du même réseau que la machine me pemettant de me connecter en ssh :

% ssh toto@190.0.0.1 -L 10548:190.0.0.2:548

Dans ce cas, quand je ferais 127.0.0.1:10548 dans la fenêtre de connexion au serveur, le tunnel ssh me fera passer par la machine de connexion ssh pour ensuite aller me connecter à la machine 190.0.0.2 et son port 548.

Très pratique pour joindre des machines derrière un routeur, je n'ai qu'un port à ouvrir et une machine directement accessible, les autres sont atteintes par rebond.
Retour en haut

Connaître les dates événements du jour ? François Jacquemin nous en donne l'astuce :

% calendar -f /usr/share/calendar/calendar.birthday -d09132002

ou encore

% calendar -l 30 -f /usr/share/calendar/calendar.computer

c'est assez réjouissant !
[CUPS] Comment utiliser une BJC-3000 sous MacOS 10.2.x :
1 / Tout d'abord, il convient d'installer Gimp-Print

(Dans notre exemple Gimp-print v 4.2.2)

2/ Pour accéder à l'outil d'administration CUPS, dans votre navigateur préféré tapez :

http://127.0.0.1:631

3 / Menu Printers

Ajouter une imprimante (Menu Printers - Add Printer)  : Saisir

Nom : BJC3000

Location : usb://CANON/BJC-3000?Serial=le_numero_de_Serie

(le_numero_de_Serie est obtenu avec Apple System Profiler)

Device : USB(Printer) usb

Device URI : usb://CANON/BJC-3000?Serial=le_numero_de_Serie

Make : CANON

Model : Canon BJC 3000, CUPS+GIMP-print v4.2.2 (en)

Ces paramétrages effectués... le message "Printer BJC3000 has been modified successfully." apparait.

Cliquer à nouveau sur le bouton Printers.... puis Start Printer.

Désormais l'imprimante BJC3000 est opérationnelle dans le Centre d'Impression.

Retour en haut

 MTU sous OS X et PPPoE (Astuce donnée par JL Peuriere)
Certains d'entre nous ont eu des problèmes (pertes de paquets excessives) dus à la mtu, dont les abonnés nerim, problème fixé par la commande : "sudo ifconfig ppp0 mtu 1492", mais qu'il fallait relancer à chaque connection.

Voici le moyen de corriger le problème une fois pour toute :

Depuis un compte admin, lancer le terminal et entrer les commandes suivantes (ne pas taper le %) :

% cd /etc/ppp

% sudo vi ip-up
             ^^ ou pico

créer les 2 lignes suivantes (i dans vi, direct dans pico) :

#!/bin/sh
/sbin/ifconfig ppp0 mtu 1492

sauvegarder et quitter (ESC :wq dans vi, CTRL-O CTRL-X dans pico)

% sudo chmod 755 ip-up

#pour donner les droits d'exécution

Quand la connection PPPoE s'établit, le deamon ppp exécute le script ip-up avec les droits root et corrige la mtu automatiquement.

(truc trouvé sur Mac OS X hints, suite à une recherche de "pppd")

Note :
la valeur de 1492 est généralement correcte mais il se peut que ce soit encore trop, on peut expérimenter avec ping -s pour trouver la bonne valeur.

Pour les machines sur le hub, l'interface est en0 ou en1 (ifconfig -a pour vérifier), et la mtu à utiliser est 1450.

Comment personnaliser le prompt de terminal.app ?
Le prompt de mon terminal affiche le nom complet du propriétaire de la
machine, ce qui  pourrait sembler être du "bon sens"; au cas ou on oublie
qui on est ;))

Je suis sûr qu'il y a une astuce ou un fichier qq part à modifier...

Je précise tout de suite que je ne souhaite pas changer de nom ;) et que je
souhaite garder le chemin dans le prompt...

Una ayuda por favor !



Solution :

% cd ~/

% pico .tcshrc

et là rajouter :

set prompt = "[Mon_Prompt:%~] %n%% "

'Mon_Prompt' est le nom qui vous fera plaisir  :)

Sauvegarder...
Retour en haut

Installer un man en français.
Tout d'abord il convient de télécharger une documentation man en français.

Par exemple ici :

ftp://ftp.lip6.fr/pub/linux/french/docs/

ou

http://fr.tldp.org/manfr.php

Copier le tout par exemple dans /Library/Documentation/man_fr

Ouvrir .tcshrc

% pico .tcshrc

y ajouter :

alias manfr 'man -M /Library/Documentation/man_fr'

Enregistrer (Ctrl+X)

Relancer terminal.app

Désormais nous pouvons avoir une page de documentation des  commandes en français,  en tapant par exemple :

% manfr man
Retour en haut

Comment franciser les dossiers gérés par le système (Music, Pictures, Users...) ?
Laurent Pertois nous en donne l'astuce :

Les dossiers utilisateurs créés sous 10.1.x ne sont pas francisés sauf à faire une petite manip en terminal :

% touch ~/Desktop/.localized
% touch ~/Documents/.localized
% touch ~/Library/.localized
% touch ~/Movies/.localized
% touch ~/Music/.localized
% touch ~/Pictures/.localized
% touch ~/Public/.localized
% touch ~/Sites/.localized


Et ensuite, on relance le Finder via ProcessViewer en quittant le processus ou en terminal :

% killall Finder

Et hop !   :)
Configurer la mtu
Pour configurer la mtu à 1450

% sudo ifconfig en0 mtu 1450

Retour en haut
Clavier azerty avec X11.app
Petite bidouille via un script shell :

créer un fichier texte :

#!/bin/sh
/Applications/X11.app/Contents/MacOS/X11 --xquartz-be-xinit -keymap /System/Library/Keyboards/Francais.keymapping

l'enregistrer et le nommer par exemple X11France

Puis au terminal :

% chmod +x X11France

(pour le rendre exécutable)

Le rajouter dans le Script Menu en tant que script shell

Pour ce faire, open script Folder et le drag n dropper.


Retour en haut
TERM_PROGRAM: Undefined variable
> Est-ce que cette erreur : TERM_PROGRAM: Undefined variable au lancement de xterm dit quelque chose à quelqu'un ?

Ce problème est du à l’absence d’un « ? » dans un fichier de Mac OS X
10.2.

Pour corriger le problème, il vous faudra à nouveau être un utilisateur
administrateur.

Éditons le fichier « /usr/share/tcsh/examples/aliases » afin de
corriger le problème :

% sudo pico /usr/share/tcsh/examples/aliases
password:


Repérez la ligne contenant :

if ("$TERM_PROGRAM" == "Apple_Terminal") then
alias settermtitle ’echo -n "^[]2;\!:1^G"’
endif

et ajoutez un « ? » juste après le signe « $ » pour obtenir :

if ("$?TERM_PROGRAM" == "Apple_Terminal") then
alias settermtitle ’echo -n "^[]2;\!:1^G"’
endif

Reconnectez-vous en ssh, tout va mieux.
Retour en haut
Clavier fr sous X11.app > Comment on fait pour avoir un clavier francais sous le X11 d'Apple ?

Tu le lances une fois par la ligne de commande avec la commande :
$ startx -- -keymap Francais.keymapping&
Ensuite, tu lances un xterm et dedans tu tapes :
$ cd
$ xmodmap -pke > .Xmodmap

(tu pourrais éviter le premier cd en rajoutant ~/ avant .Xmodmap, mais
j'ai pas trouvé la touche pour faire un "~"... :-) )


Bon, ensuite, tu te fais un .xinitrc et dedans, tu mets les lignes
suivantes (dans l'ordre) :
xmodmap $HOME/.Xmodmap
quartz-wm


Tu quittes X11.app et tu relances le serveur X en double-cliquant
X11.app, et voilà... Tu as le clavier français...
Installation X11.app Il convient au préalable de télécharger :

X11SDKForMacOSX

ainsi que X11.app beta


a / si le xfree86 de fink est installé on, peut alors le désinstaller avec :

% sudo dpkg -r --force -depends xfree86-base xfree86-base-shlibs xfree86-rootless xfree86-rootless-shlibs


b / Installer  X11.app beta

c / Installer X11SDKForMacOSX

d / Si on compte utiliser les programmes installables par fink

% fink selfupdate -cvs

% fink install system-xfree86

Quelques packages pour X11.app

Retour en haut

Exemples de .xinitrc, .tcshrc et .xModmap sous X11.app
1 / exemple de .xinitrc

PATH="$PATH:/usr/local/bin:/usr/sbin:/sw/bin:/sw/sbin";export PATH

xmodmap $HOME/.Xmodmap
xmodmap -e 'keycode 66 = Mode_switch'
quartz-wm &
LANG="fr";export LANG
esd -nobeep

2 / exemple de .tcshrc

source /sw/bin/init.csh
bindkey "^I" complete-word-fwd
bindkey -k down history-search-forward
bindkey -k up history-search-backward
set prompt = "[iMac:%~] %n%% "
if (! $?DISPLAY) then
        setenv DISPLAY :0.0
endif
alias manfr 'man -M /Library/Documentation/man_fr'
setenv TERM vt100-color
setenv LANG "fr"
stty -istrip

3 / Exemple de .xModmap (pour clavier français)

keycode   8 = q Q doubledagger
keycode   9 = s S Ograve
keycode  10 = d D
keycode  11 = f F NoSymbol periodcentered
keycode  12 = h H Igrave Icircumflex
keycode  13 = g G
keycode  14 = w W leftanglebracket rightanglebracket
keycode  15 = x X
keycode  16 = c C copyright cent
keycode  17 = v V
keycode  18 = at numbersign
keycode  19 = b B ssharp
keycode  20 = a A ae AE
keycode  21 = z Z Acircumflex Aring
keycode  22 = e E ecircumflex Ecircumflex
keycode  23 = r R registered currency
keycode  24 = y Y Uacute
keycode  25 = t T dagger
keycode  26 = ampersand 1 NoSymbol dead_acute
keycode  27 = eacute 2 ediaeresis doublelowquotemark
keycode  28 = quotedbl 3 leftdoublequotemark rightdoublequotemark
keycode  29 = apostrophe 4
keycode  30 = section 6 paragraph aring
keycode  31 = parenleft 5 braceleft bracketleft
keycode  32 = minus underscore emdash endash
keycode  33 = ccedilla 9 Ccedilla Aacute
keycode  34 = egrave 7 guillemotleft guillemotright
keycode  35 = parenright F1 braceright bracketright
keycode  36 = exclam 8 exclamdown Ucircumflex
keycode  37 = agrave 0 oslash Ooblique
keycode  38 = dollar asterisk singlelowquotemark yen
keycode  39 = o O oe OE
keycode  40 = u U masculine ordfeminine
keycode  41 = dead_circumflex dead_diaeresis ocircumflex Ocircumflex
keycode  42 = i I icircumflex idiaeresis
keycode  43 = p P
keycode  44 = Return
keycode  45 = l L notsign bar
keycode  46 = j J Idiaeresis Iacute
keycode  47 = ugrave percent Ugrave
keycode  48 = k K Egrave Ediaeresis
keycode  49 = m M mu Oacute
keycode  50 = dead_grave sterling at numbersign
keycode  51 = semicolon period ellipsis
keycode  52 = equal plus NoSymbol plusminus
keycode  53 = n N dead_tilde idotless
keycode  54 = comma question NoSymbol questiondown
keycode  55 = colon slash division backslash
keycode  56 = Tab
keycode  57 = space
keycode  58 = less greater
keycode  59 = BackSpace
keycode  60 = KP_Enter
keycode  61 = Escape
keycode  62 =
keycode  63 = Meta_L
keycode  64 = Shift_L
keycode  65 = Caps_Lock
keycode  66 = Alt_L
keycode  67 = Control_L
keycode  68 = Shift_R
keycode  69 = Alt_R
keycode  70 = Control_R
keycode  71 =
keycode  72 =
keycode  73 = KP_Separator period
keycode  74 = NoSymbol asterisk
keycode  75 = KP_Multiply
keycode  76 =
keycode  77 = KP_Add
keycode  78 = NoSymbol plus
keycode  79 = Escape
keycode  80 = NoSymbol equal
keycode  81 =
keycode  82 =
keycode  83 = KP_Divide
keycode  84 = KP_Enter
keycode  85 = NoSymbol slash
keycode  86 = KP_Subtract
keycode  87 =
keycode  88 =
keycode  89 = KP_Equal
keycode  90 = KP_0
keycode  91 = KP_1
keycode  92 = KP_2
keycode  93 = KP_3
keycode  94 = KP_4
keycode  95 = KP_5
keycode  96 = KP_6
keycode  97 = KP_7
keycode  98 =
keycode  99 = KP_8
keycode 100 = KP_9
keycode 101 =
keycode 102 =
keycode 103 =
keycode 104 = F5
keycode 105 = F6
keycode 106 = F7
keycode 107 = F3
keycode 108 = F8
keycode 109 = F9
keycode 110 =
keycode 111 = F11
keycode 112 =
keycode 113 = F13
keycode 114 =
keycode 115 = F14
keycode 116 =
keycode 117 = F10
keycode 118 =
keycode 119 = F12
keycode 120 =
keycode 121 = F15
keycode 122 = Help
keycode 123 = Home
keycode 124 = Prior
keycode 125 = Delete
keycode 126 = F4
keycode 127 = End
keycode 128 = F2
keycode 129 = Next
keycode 130 = F1
keycode 131 = Left
keycode 132 = Right
keycode 133 = Down
keycode 134 = Up
keycode 135 =
keycode 136 =
keycode 137 =
keycode 138 =
keycode 139 =
keycode 140 =
keycode 141 =
keycode 142 =
keycode 143 =
keycode 144 =
keycode 145 =
keycode 146 =
keycode 147 =
keycode 148 =
keycode 149 =
keycode 150 =
keycode 151 =
keycode 152 =
keycode 153 =
keycode 154 =
keycode 155 =
keycode 156 =
keycode 157 =
keycode 158 =
keycode 159 =
keycode 160 =
keycode 161 =
keycode 162 =
keycode 163 =
keycode 164 =
keycode 165 =
keycode 166 =
keycode 167 =
keycode 168 =
keycode 169 =
keycode 170 =
keycode 171 =
keycode 172 =
keycode 173 =
keycode 174 =
keycode 175 =
keycode 176 =
keycode 177 =
keycode 178 =
keycode 179 =
keycode 180 =
keycode 181 =
keycode 182 =
keycode 183 =
keycode 184 =
keycode 185 =
keycode 186 =
keycode 187 =
keycode 188 =
keycode 189 =
keycode 190 =
keycode 191 =
keycode 192 =
keycode 193 =
keycode 194 =
keycode 195 =
keycode 196 =
keycode 197 =
keycode 198 =
keycode 199 =
keycode 200 =
keycode 201 =
keycode 202 =
keycode 203 =
keycode 204 =
keycode 205 =
keycode 206 =
keycode 207 =
keycode 208 =
keycode 209 =
keycode 210 =
keycode 211 =
keycode 212 =
keycode 213 =
keycode 214 =
keycode 215 =
keycode 216 =
keycode 217 =
keycode 218 =
keycode 219 =
keycode 220 =
keycode 221 =
keycode 222 =
keycode 223 =
keycode 224 =
keycode 225 =
keycode 226 =
keycode 227 =
keycode 228 =
keycode 229 =
keycode 230 =
keycode 231 =
keycode 232 =
keycode 233 =
keycode 234 =
keycode 235 =
keycode 236 =
keycode 237 =
keycode 238 =
keycode 239 =
keycode 240 =
keycode 241 =
keycode 242 =
keycode 243 =
keycode 244 =
keycode 245 =
keycode 246 =
keycode 247 =
keycode 248 =
keycode 249 =
keycode 250 =
keycode 251 =
keycode 252 =
keycode 253 =
keycode 254 =
keycode 255 =

Depuis X11.app, nous pouvons utiliser

% /etc/X11/xinit/xinitrc

#!/bin/sh
# $Id: xinitrc,v 1.2 2003/02/27 19:03:30 jharper Exp $

userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
sysresources=/etc/X11/xinit/.Xresources
sysmodmap=/etc/X11/xinit/.Xmodmap

# merge in defaults and keymaps

if [ -f $sysresources ]; then
    xrdb -merge $sysresources
fi

if [ -f $sysmodmap ]; then
    xmodmap $sysmodmap
fi

if [ -f $userresources ]; then
    xrdb -merge $userresources
fi

if [ -f $usermodmap ]; then
    xmodmap $usermodmap
fi

# start some nice programs

# xterm &
/sw/bin/esd &

# start the window manager

exec quartz-wm


Retour en haut
Connaître PATH, MANPATH et INFOPATH en une seule commande Nicolas Michel nous l' indique :

% printenv | grep PATH
Les variables internes au shell courant avec la commande set Frédéric Goudal nous précise que pour les sh like (sh, bash, zsh, ksh...) cette commande est plus complète que printenv (voir ci-dessus)

% set
XFree86, X11, fink...kesako?
X11 : nom du système d'affichage, accessoirement nom aussi de l'appli
Apple qui lance cette interface

XFree86 : une des implémentations (la plus courante) de X11

Fink : système permettant d'installer facilement des applis open source
en téléchargeant le code source et en le recompilant.

Donc, avec Fink tu vas installer en premier un élément qui s'appelle
System-XFree, ainsi les applis Fink sauront où trouver le X11 d'Apple.

Tiens, ça me fait penser qu'il te faut installer les outils développeur.
[X11.app] Comment paramétrer xterm pour qu'il ait un ascenseur à droite et soit capable de mémoriser 1000 lignes ?
a / Lancer X11.app

b / Ouvrir Menu--> Application--> Customize

c / Saisir La commande pour Xterm la commande :

xterm -sb -sl 1000 -rightbar
Rendez-vous kesako ?
Rendezvous est assimilable à un DNS, donc ta machine a un nom en
clair et pas simplement une adresse IP.

Le nom Rendezvous c'est le nom que tu veux donner à ta machine pour que
les autres puissent y accéder, ça se règle dans Préférences Système,
Partage, il y a une case Nom Rendezvous.

Est-ce que je peux m'en servir pour partager un calendrier ? ou avec icommune pour partager ma musique d'un poste à l'autre (en local) ?

Uniquement en local, ça ne passe pas les routeurs et uniquement entre
machines en Jaguar.
Comment quitter avec terminal.app une application qui plante ? % ps -auxww | grep "MonApplicationQuiPlante"

et tu obtiens le PID

Ca evite de chercher

% kill  PID
 
Solution alternative par Laurent Pertois :

Perso, je fais :

% ps auxwwc | grep -i appliquiplante

le - est optionnel avec ps, le c évite l'affichage du chemin d'accès à
l'appli (ça fait des lignes moins longues) et le -i de grep le rend
insensible à la casse parce que par exemple :

% ps auxwwc | grep "finder"

ne me retourne rien alors que

% ps auxwwc | grep -i "finder"

me retourne au moins la ligne concernant le processus Finder.

Ma propre astuce

soit

% ps - ax | grep -i "Application"

soit :

% top
 
Cela me permet d'obtenir des process en cours d'utilisation. Le PID est clairement indiqué. Donc je repère le PID de l application qui est plantée.

J'ouvre un nouveau shell en faisant pomme+N

Je tape :

% kill Numero_PID_de_applic_qui_plante

Je peux observer en regardant le premier shell que tout c'est déroulé normalement.

Cette manipulation est tout particulièrement intéressante si l'on veut déplanter un ordinateur en réseau. On s'y connecte via ssh

% ssh IP_de_ordinateur

Et on pratique de même..
Dossier "Temporary Items" > Bon ca y est, je suis agacé, pourquoi sous X (jaguar) j'ai tout le temps
> un dossier "Temporary Items" qui se crée. C'est apparement lié a
> certaine utilisation de logiciel.

> Quelqu'un un commentaire, un idée, une solution…

Bon, et une suite de réponse constructive : tu tapes ça dans le
Terminal :

% sudo pico /.hidden

Tu tapes ton mot de passe.

Puis dans la liste qui s'affiche, tu vas avec tes flèches avant la
ligne qui commence par tmp, et sur une nouvelle ligne, tu tapes :

Temporary Items

Tu enregistres avec Contrôle-X, y pour confirmer et Entrée. Ça te
permet d'ajouter ce fichier dans la liste des fichiers invisibles du
Finder.

Tu relances le Finder :

% killall Finder


Supprimer les autres langues ?
Supprimer les autres langues :

% find /Applications /Developer /System /Library -type d -name \*.lproj
|grep -v French.lproj |grep -v English.lproj |grep -v en.lproj |grep -v
fr.lproj >/tmp/liste.lprojs

Ensuite, tu peux éditer le fichier /tmp/liste.lprojs si tu veux vérifier
ce qui est viré...

Et enfin :
% zsh
cat /tmp/liste.lprojs |while read line
do
  echo "deleting file " $line
  sudo rm -rf "$line"
done
exit

Gravure d'un CD haute capacité - L'exemple du CD-R TDK Metallic 800 MB 1 / Constituer un dossier avec à l'intérieur les éléments à graver
2 / Lancer FireStarter FX
3 / Choisir l'onglet "Graver les données" puis placer le dossier à graver dans la zone de dépôt enfin choisir "format .iso". Lancer la constitution de l'image.
4 / Choisir l'onglet "Graver une image". Placer l'image .iso ainsi constituée dans la zone de dépôt.
5 / Cliquer sur le bouton "Graver" ou "Burn", choisir "Overburning" si possible
NB : Pour ma part sur un iMac 500 DV, j'ai du augmenter au maximum le cache RAM en utilisation les "réglages avancées" du logiciel FireStarter.

Petites précisions (ajout du 6 mars 2004) : a / choisir une vitesse de gravure très franchement inférieure à la vitesse annoncée pour votre graveur (chez moi sur un SmartDisk VST 8x, j'ai opté pour du 4x)  b / attention à ne pas indiquer un cache RAM si vous ne disposez pas suffisamment de mémoire RAM c / Éviter les documents comportant plus de 8 caractères (le logiciel FireStarter tronque les mots... ce qui en soit n'est pas très grave)
Comment renommer un ensemble de fichiers au terminal ?

Il faut se placer dans le bon dossier avec "cd" (on peut glisser-déposer le dossier sur la fenêtre du Terminal pour avoir le chemin).


Ensuite, il faut taper si par exemple on fait renommer tous les fichiers avec un suffixe .php:


% for i in *
> do
> mv "$i" "$i.php"
> done
Les caractères ">" se mettent tout seul.
Le caractère "%" symbolise l'invite.

Synchroniser un backUp Sous MacOS X, il y a plusieurs façons de faire pour synchroniser un backUp.

On peut soit utiliser des logiciels en GUI comme RSyncX ou PSyncX ou BackUp d'Apple.

J'ai opté pour une synchronisation en utilisant la commande psync.

L'idée est de synchroniser la totalité du disque dur de mon iMac G5 (80 Go) sur un disque dur FireWire SilverTouch de 160 Go.

J'ai tout d'abord partitionné ce disque en deux partitions de 80 Go.

La première me servira de clone (synchronisable) de l'iMac G5, la seconde d'espace de stockage pour divers documents non présents sur le G5, ou pour faire du montage vidéo.

Idée : réaliser un programme exécutable synchronise.sh qui exécute le tout. J'ai appelé ma partition de backUp : "Sauvegarde".

Lancer un traitement de texte, Smultron, emacs ou pico (ou n'importe quel soft permettant la réalisation d'un programme .sh)

Taper :

#!/bin/sh
sudo /sw/bin/psync -d / /Volumes/Sauvegarde

#/usr/bin/say "Synchronization complete."

Enregistrer ce petit programme en synchronize.sh

Et voilà. Il n'y a qu'à le lancer de temps en temps, ou le faire figurer en cron pour sauvegarder en synchronisant la totalité du disque (qui par ailleurs avec cette technique est bootable)

Info : Une synchro d'un disque dur de 80 Go (dès lors bien sûr que la sauvegarde initiale a été opérée) dure environ 17 minutes

Pour avoir une idée :

4 minutes - scanning destination (chez moi 687 000 items)

7 minutes - scanning source (chez moi 629 000 items)

6 minutes - 4 000 fichiers à effacer, 619 000 restent inchangés, 9 000 à copier - changement des attributs des directories.




    En haut

M'écrire





Valid HTML 4.0!