Unelte utilizator

Unelte site


mandriva:ghid-2011:terminal_1

Sectiunea 2
Export page to Open Document format

Pentru a putea utiliza toate aplicațiile expuse în acest material trebuie să aveți setate pe lângă mediile oficiale Mandriva, mediile MIB și MRB!!!

Aveți dreptul de a copia și distribui acest material, în această formă, nu și a unor anumite părți din el. Autorii acestui material nu pot fi trași la răspundere sau învinuiți sub nici o formă pentru eventualele pierderi materiale, de informații sau orice alte prejudicii provocate/ suferite de cititor/ utilizator în urma informațiilor obținute din acest tutorial. Cititorul/ utilizatorul acționează pe propria sa răspundere.

Personalizare consola / terminal

Consola este un instrument foarte util în folosirea și administrarea unei distribuții Gnu/Linux, dar aspectul tern displace multor utilizatori. Dar consola poate fi personalizată, făcută atractivă. În continuare ne vom referi la câteva aspecte: transparență, mesaj de întâmpinare, prompt personalizat, schimbare nume sistem, aplicații utile sau interesante. Poate ați auzit și veți mai auzi vorbindu-se despre puterea consolei, utilitatea acesteia, importanța ei. Noi ne vom referi la frumusețea și la simplitatea consolei, la ușurința în utilizare. Vom încerca să vă prezentăm aplicații interesante, precum și lucruri inedite despre consolă. Contrar ideilor preconcepute linia de comandă poate fi atât distractivă cât și simplu de utilizat.

În acest material: -consolă= terminal= konsole= gnome-terminal= e-term= x-term= yakuake= orice consolă în mediul grafic, dar baza este konsole, terminalul implicit în mediul grafic KDE, setările/ modificările se referă la konsole;
-tty= unul din cele șase terminale în mod text, apelabile prin combinația Ctrl+ Alt+ F1 (tty1), sau Ctrl+ Alt+F2 (tty2), până la Ctrl+Alt+ F6 (tty6). Mutarea între tty-uri se face cu combinația Alt+Fn (Alt+ F3 de exemplu pentru tty3, Alt+F6 pentru tty6…), iar revenirea în mediul grafic cu combinația de taste Alt+F7 sau Alt+F8;
-ne vom referi la un sistem localizat în limba română;
-semnul # din fața unei comenzi înseamnă că acea comandă trebuie dată ca root (su+ parola de root), sau cu drepturi temporare de root ( precedată de sudo+ parolă utilizator la cerere); o comandă fără # sau precedată de caracterul $ se va da ca user obișnuit;
-semnul ~ indică întotdeauna directorul /home/user, de exemplu: ~/.bashrc este același lucru cu /home/user/.bashrc !

useradd

Dacă avertismentul nostru de la început vă pune pe gânduri, poate e bine să începeți prin a crea un cont de utilizator nou, cont în care să verificați acuratețea informațiilor oferite. Știm că se poate face acest lucru în MCC, totuși discutăm despre consolă, așa că puteți crea un cont nou cu o singură comandă: #useradd -m -g users -G audio,root,video,wheel -s /bin/bash user_nou unde: -m= crează director home: /home/user_nou; -g= grupul de bază la care va fi adăugat noul utilizator (în acest caz grupul users); -G= grupuri adiționale din care va face parte noul utilizator; -s= shellul implicit folosit de utilizator; -user_nou= înlocuiți cu numele dorit. După ce setați și o parolă noului utilizator (#passwd user_nou), aveți configurat un cont nou, cu toate facilitățile, gata de utilizat. Pentru ca noul utilizator să facă parte dintr-un grup cu același nume, mai întâi trebuie creat acel grup (#groupadd user_nou), și apoi noul cont de utilizator, caz în care vom înlocui în comanda dată grupul users cu grupul cu același nume cu utilizatorul.

dd

În eventualitatea că nu vă mulțumește măsura precedentă, vă sugerăm să vă salvați datele de pe partiția /, sistemul de operare adică, prin ceea ce este cunoscut ca backup. Tot în linia de comandă evident, folosind dd (disk dump). Pe lângă mai cunoscutele Clonezilla, Acronis, Ghost4Lin, există dd, un utilitar ce realizează copieri bit cu bit. Structura de bază a comenzii este: dd if=sursă of=destinație , unde: if= input file= datele ce vor fi copiate(disc, partiție, director) of= output file= destinație= locul unde vor fi scrise/ copiate datele

Să vedem cam ce putem face cu dd: putem copia o partiție pe un alt disc, putem crea imaginea ISO a unui cd/dvd, crea un drive USB bootabil, clona un hard disc întreg și multe altele. Ceea ce ne interesează pe noi este copierea unei partiții pe altă partiția a discului, deci backup, salvarea partiției root. Partiția root trebuie să fie demontată, de aceea pornim o sesiune live-cd, cu un live-cd Mandriva sau alt distro și realizăm salvarea datelor:

1- Backup fără compresie:

dd if=/dev/sdax of=/dev/sday/backup



unde:/dev/sdax este partiția root (înlocuiți x cu 1, 2, 3 sau după caz cu cifra corectă, de pildă /dev/sda3) /dev/sday este partiția destinație, cea pe care salvăm datele (înlocuiți y cu cifra corectă) backup este directorul unde salvăm. Dacă nu știți exact care sunt partițiile implicate, partiția / și partiția destinație, într-o consolă dați comanda: df. Outputul comenzii vă va indica toate partițiile sistemului, și va arăta cam așa:

[alex@stressat ~]$ df
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda7             9.0G  6.9G  1.6G  82% /
/dev/sda6             251M   67M  172M  29% /boot
/dev/sda8              68G   36G   29G  56% /home
/dev/sda1              11G  6.1G  4.7G  57% /media/win_c
/dev/sda2              49G   26G   24G  52% /media/win_d

În acest caz partiția / este /dev/sda7, /boot este /dev/sda6, /home este /dev/sda8, etc.

Restaurare partiție root:

dd if=/dev/sday/backup of=/dev/sdax

2- Backup cu compresia datelor:

dd if=/dev/sdax | gzip > /dev/sday/backup.gz

Restaurare:

gunzip /dev/sday/backup.gz | dd of=/dev/sdax

Atenție!!!

Trebuie să fiți extrem de atenți la sintaxa folosită, dacă greșiți partiția destinație puteți pierde toate datele de pe aceasta, dacă inversați partițiile pierdeți partiția root, orice greșeală este FATALĂ ! Am prezentat dd doar pentru a arăta posibilitățile CLI, începătorii ar face bine să evite folosirea sa, Clonezilla este mult mai permisiv, deci recomandat. Un ghid de utilizare Clonezilla în limba româna puteți descărca de aici: http://queen-soft.blogspot.com/2009/02/clonezilla-alternativa-gratuita-la.html .

Funcții bash utile

Ne putem ușura viața în linia de comandă, adăugând anumite funcții bash in .bashrc .

I. Funcția unp :

Funcția unp permite dezarhivarea rapidă pentru orice tip de arhivă, fără a ști pe dinafară sintaxa de dezarhivare.

Astfel în loc de :

tar zxvf arhiva.tar.gz
tar jxvf arhiva.tar.bz2
unrar x arhiva.rar
7z x arhiva.7z
ar x arhiva.deb

Se va utiliza :

unp arhiva.tar.gz
unp arhiva.tar.bz2
unp arhiva.rar
unp arhiva.7z
unp arhiva.deb

Funcția este următoarea :

# usage: unp <file>
unp ()
{
  if [ -f $1 ] ; then
    case $1 in
      *.tar.bz2)   tar vxjf $1   ;;
      *.tar.gz)    tar xvzf $1   ;;
      *.bz2)       bunzip2 $1   ;;
      *.rar)       unrar x $1     ;;
      *.gz)        gunzip $1    ;;
      *.tar)       tar xfv $1    ;;
      *.tbz2)      tar xjfv $1   ;;
      *.tgz)       tar xzfv $1   ;;
      *.zip)       unzip $1     ;;
      *.Z)         uncompress $1;;
      *.7z)        7z x $1      ;;
      *.deb)	   ar x $1	;;
      *)           echo "'$1' cannot be extracted" ;;
    esac
  else
    echo "'$1' is not a valid file"
  fi
}

Și un exemplu de .bashrc cu ea activă :

if [ -f /etc/bash_completion ]; then
	    . /etc/bash_completion
fi

xhost +local:root > /dev/null 2>&1

complete -cf sudo

shopt -s cdspell
shopt -s checkwinsize
shopt -s cmdhist
shopt -s dotglob
shopt -s expand_aliases
shopt -s extglob
shopt -s histappend
shopt -s hostcomplete
shopt -s nocaseglob

export HISTSIZE=10000
export HISTFILESIZE=${HISTSIZE}
export HISTCONTROL=ignoreboth


LACK='\e[1;30m'
RED='\e[0;31m'
LIGHTRED='\e[1;31m'
GREEN='\e[0;32m'
LIGHTGREEN='\e[1;32m'
BROWN='\e[0;33m'
YELLOW='\e[1;33m'
BLUE='\e[0;34m'
LIGHTBLUE='\e[1;34m'
PURPLE='\e[0;35m'
LIGHTPURPLE='\e[1;35m'
CYAN='\e[0;36m'
LIGHTCYAN='\e[1;36m'
WHITE='\e[1;37m'
#echo -ne "${LIGHTBLUE}""Salut, $USER! Azi e "; date
#echo -e "${LIGHTBLUE}"; uname -a ; 
#echo -e "${LIGHTBLUE}";cat /etc/release ; echo ""
#echo -ne "${LIGHTBLUE}Sysinfo:";uptime ;echo ""
#echo -e "${LIGHTPURPLE}"; cal -3 
#echo -e "${LIGHTCYAN}"; fortune maxime  ; 
#echo -e "${YELLOW}"; cal -3;


alias ls='ls -h --group-directories-first --time-style=+"%d.%m.%Y %H:%M" --color=auto -F'
alias lls='ls -lh --group-directories-first --time-style=+"%d.%m.%Y %H:%M" --color=auto -F'
alias llls='ls -lha --group-directories-first --time-style=+"%d.%m.%Y %H:%M" --color=auto -F'
alias grep='grep --color=tty -d skip'
alias cp="cp -i"                          # confirm before overwriting something
alias df='df -h'                          # human-readable sizes
alias free='free -m'                      # show sizes in MB
alias src='rpm -qa --qf %{NAME}-%{VERSION}-%{RELEASE}-%{ARCH}\\n'
alias lynx='lynx -accept_all_cookies'
alias pkginstall='sudo urpmi'
alias pkgremove='sudo urpme'
alias pkgsearch='sudo urpmq -YSa'
alias pkgupdate='sudo urpmi --auto-update'
alias pkgclean='sudo urpme --auto-orphans'
alias pkglist='rpm -qa'
alias pkgflist='rpm -ql'
alias lsmod='sudo lsmod'
alias ifconfig='sudo ifconfig'
alias lsusb='sudo lsusb'
alias traceroute='sudo traceroute'
alias die='kill -9'
alias sudoers='sudo EDITOR=mcedit visudo'
# unp - archive extractor
# usage: unp <file>
unp ()
{
  if [ -f $1 ] ; then
    case $1 in
      *.tar.bz2)   tar vxjf $1   ;;
      *.tar.gz)    tar xvzf $1   ;;
      *.bz2)       bunzip2 $1   ;;
      *.rar)       unrar x $1     ;;
      *.gz)        gunzip $1    ;;
      *.tar)       tar xfv $1    ;;
      *.tbz2)      tar xjfv $1   ;;
      *.tgz)       tar xzfv $1   ;;
      *.zip)       unzip $1     ;;
      *.Z)         uncompress $1;;
      *.7z)        7z x $1      ;;
      *.deb)	   ar x $1	;;
      *)           echo "'$1' cannot be extracted" ;;
    esac
  else
    echo "'$1' is not a valid file"
  fi
}

# prompt
PS1='\[\033[0;32m\]┌─[ \[\033[0m\033[0;32m\]\u\[\033[0m\] @ \[\033[0;36m\]\h\[\033[0m\033[0;32m\] ] - [ \[\033[0m\]\w\[\033[0;32m\] ]\n\[\033[0;32m\]└─[\[\033[0m\033[0;32m\]\$\[\033[0m\033[0;32m\]]>\[\033[0m\] '

II. Funcția mdvup :

Funcția mdvup permite actualizarea sistemului printr-o singură comandă, fără a mai fi nevoie de tastarea parolei.

Astfel în loc de :

urpmi.update -a
su -l
urpmi --auto-select

Se va utiliza :

mdvup

Funcția este următoarea :

mdvup () {
urpmi.update -a
/usr/bin/expect -c 'spawn su -l -c "urpmi --auto-select";expect "?*assword*";send -- "Parola_ROOT";send -- "\r";interact'
}

Pentru a funcționa trebuie sa aveți instalat expect și să înlocuiți Parola_ROOT cu parola contului root.

ATENȚIE : Această metodă implică păstrarea parolei de root în formă text. În cazul serverelor poate reprezenta un risc.

sudo

Comanda sudo este în opinia noastră extrem de utilă, datorită faptului că datorită ei căpătăm drepturi de root pentru o perioadă limitată de timp folosind parola de utilizator, sau chiar fără parolă. Să presupunem că doriți să folosiți sudo fără parola de utilizator pentru instalări, actualizări de sistem, rulări scripturi… Ne vom referi la activarea sudo pentru toți userii care fac parte din grupul wheel, în așa fel încât să nu fie nevoiți să pună parola de utilizator. Activarea sudo pe Mandriva se realizează destul de simplu: 1- instalăm sudo: #urpmi sudo . Dacă ați încercat să adăugați un alt utilizator cu comanda arătată anterior ( #useradd -m -g users -G audio,root,video,wheel -s /bin/bash user_nou ), acel utilizator face parte deja din grupul wheel, dacă nu, atunci puteți adăuga userul în grupul wheel cu următoarea comandă: #gpasswd -a user wheel . 2- permitem userilor din grupul wheel folosirea sudo fără parolă: edităm fișierul /etc/sudoers (#kwrite /etc/sudoers ), sau dacă preferați cu alt editor de text (kate, gedit, nano, vim…) și decomentăm linia:

## Same thing without a password
# %wheel	ALL=(ALL)	NOPASSWD: ALL

adică ștergem caracterul # din fața liniei, astfel încât linia va arăta:

%wheel	ALL=(ALL)	NOPASSWD: ALL

Dacă doriți totuși să utilizați sudo cu parola de utilizator, atunci în același fișier /etc/sudoers, după liniile:

## Allow root to run any commands anywhere 
root	ALL=(ALL) 	ALL

adăugați o linie nouă de forma:

user	ALL=(ALL) 	ALL

linie în care înlocuiți user cu numele de utilizator.

Fișierul

/etc/sudoers

editat cu mcedit

O varianta revizuita folosind MC (midnight commander) si MCC (Mandriva Control Center aka drakconf)

Acum putem trece la treabă, vom începe cu aspectul consolei.

Transparenta

Deschidem o consolă (Meniu- Unelte- Konsolă) și din bara de meniuri a consolei apăsăm succesiv butoanele: Configurări- Editează profilul curent- Aspect- Editare: setăm o valoare la Transparență fundal- Ok. După cum ați observat la Aspect putem schimba radical aspectul consolei, atât culoarea fundalului cât și a fonturilor folosite, dimensiunea fonturilor, forma și culoarea cursorului. O modificare utilă privind consola putem face în Dolphin, astfel încât să pornim o consolă în directorul în care ne aflăm în Dolphin: Dolphin→ Configurări→ Configurează barele de unelte→ dublu click pe Deschide terminal (sau îl tragem cu mouse-ul din partea stângă a ferestrei apărute în cea dreaptă)→ Aplică- Ok. Astfel în bara de unelte din Dolphin, în partea de sus a acestuia vom avea un buton ¨Deschide terminal¨. Prin click pe acesta vom deschide o consolă în directorul curent. Alternativ, apăsând tasta F4 în Dolphin în partea de jos a acestuia se va deschide o mică fereastră Konsole, în directorul curent, consolă în care putem da comenzi.

Un alt mod de a obține transparența ferestrelor în mod global (deci nu doar consola ci toate categoriile de ferestre) este din Compiz-fusion/CCSM. Urmați calea: CCSM→ Accesibility→ Opacity, brightness and saturation→ Opacity→ Window specific settings→ New→ scrieți la Type: Normal | Unknown și puneți o valoare în jur de 80-95.

ATENȚIE: o valoare prea mică va face ferestrele INVIZIBILE !!!

MC - Midnight Commander

Pentru cei care utilizează mc/ GNU Midnight Commander (există cineva care nu-l folosește?) se poate modifica aspectul aplicației atât de utile. În ~/.mc/ini se pot face modificari la culori, layout, alte setări. Mai simplă este înlocuirea temei implicite cu alta. Temele/ skin-urile pentru mc se găsesc în /usr/share/mc/skins. Automat mc pornește cu skin-ul implicit, cel definit în “default.ini”. Pentru a încerca alt skin rulați comanda mc -S nicedark sau mc -S darkfar ( mc -S nume_temă / nu trebuie pus .ini și nici calea nu trebuie definită). Pentru a seta mc să pornească automat cu tema preferată, creați folderul ~/.mc/skins, acesta va fi răsfoit inainte sa caute in /usr/share/mc/skins. Astfel, pentru a face un skin personalizat și a-l rula fără parametri la mc, creați ~/.mc/skins/default.ini . O idee bună este să porniți prin a copia si modifica /usr/share/mc/skins/default.ini in locația sus-amintită. În același mod putem seta aspectul mc pentru contul de root, contul în care bănuim că este cel mai folosit mc,prin crearea unui fișier /root/.mc/skins și copierea temelor din /usr/share/mc/skins în /root/.mc/skins.

Pentru cei ce nu vor să riște, să se complice sau nu se pricep recomandăm crearea unui alias de forma: alias mc='mc -S temă_preferată', de exemplu alias mc='mc -S darkfar' în fișierul ~/.bashrc , iar pentru contul de root în fișierul /root/.bashrc. Mai mult de atât, în sursa indicată mai jos gășiți un fișier temă configurat, trebuie doar copiat, sau vă puteți inspira după acesta:

[skin]
    description=Standart skin

[Lines]
    horiz=─
    vert=│
    lefttop=┌
    righttop=┐
    leftbottom=└
    rightbottom=┘
    topmiddle=─
    bottommiddle=─
    leftmiddle=├
    rightmiddle=┤
    cross=┼
    dhoriz=─
    dvert=│
    dlefttop=┌
    drighttop=┐
    dleftbottom=└
    drightbottom=┘
    dtopmiddle=─
    dbottommiddle=─
    dleftmiddle=├
    drightmiddle=┤

[core]
    _default_=lightgray;
    selected=black;lightgray
    marked=yellow;
    markselect=yellow;cyan
    gauge=white;black
    input=lightgray;black
    reverse=black;lightgray

[dialog]
    _default_=black;lightgray
    dfocus=white;black
    dhotnormal=red;lightgray
    dhotfocus=brown;black

[error]
    _default_=white;red
    errdhotnormal=yellow;red
    errdhotfocus=yellow;lightgray

[filehighlight]
    directory=white;
    executable=brightgreen;
    symlink=lightgray;
    stalelink=brightred;
    device=brightmagenta;
    special=blue;
    core=red;
    temp=gray;
    archive=brightmagenta;
    doc=brown;
    source=cyan;
    media=green;
    graph=brightcyan;
    database=brightred;

[menu]
    _default_=white;black
    menuhot=brown;black
    menusel=black;lightgray
    menuhotsel=red;lightgray
    menuinactive=lightgray;black

[buttonbar]
    hotkey=brown;
    button=grey;

[help]
    _default_=black;lightgray
    helpitalic=red;lightgray
    helpbold=blue;lightgray
    helplink=black;cyan
    helpslink=yellow;blue

[editor]
    _default_=white;
    editbold=yellow;brightgreen
    editmarked=black;lightgray
    editwhitespace=brightblue;
    editlinestate=lightgray;black
    bookmark=white;red
    bookmarkfound=black;green
    editrightmargin=brightblue;black

[viewer]
    viewunderline=brightred;

[diffviewer]
    added=white;green
    changedline=blue;
    changednew=red;
    changed=white;
    removed=white;red
    folder=blue;black
    error=red;white

[widget-common]
    sort-sign-up = '
    sort-sign-down = ,

SURSA: http://www.mandrivausers.ro/node/6154

Pentru mesaj de întâmpinare și prompt shell personalizate vom folosi două comenzi: echo (comandă care afișează o linie de text) și export (comandă care setează variabilele de mediu cum sunt promptul shell-ului, editorul de text, etc.). Pentru a vedea toate variabilele de mediu dați comanda env în consolă! Toate modificările se vor face în fișierul /home/user/.bashrc (altfel scris ~/.bashrc), care este fișierul de configurare al shell-ului Bash, interpretorul de comenzi implicit în Mandriva și majoritatea distribuțiilor Gnu/Linux, pentru setări locale (la nivel de utilizator) sau în fișierul /etc/skel/.bashrc pentru setări globale (valabile pentru toți utilizatorii sistemului), bineînțeles dacă nu dorim setări diferite pentru useri diferiți, caz în care configurăm fișierele .bashrc al fiecărui user după dorință. Comanda cu care edităm acel fișier este: kwrite .bashrc, kate .bashrc sau gedit .bashrc. Adăugăm linia/liniile dorite, salvăm și închidem. Putem să facem backup la fișier înainte de a face modificări (cp .bashrc .bashrc-vechi). În caz de probleme ștergem fișierul și-l înlocuim cu copia de siguranță. Dar nu este neapărat necesar să facem noi backup, deoarece editoarele text kwrite, kate, gedit fac o copie de siguranță fișierelor text editate, copie ce are exact același nume cu fișierul original plus caracterul tilda (~). Nu vă panicați, este foarte simplu, puteți pur și simplu copia (copy-paste) liniile dorite sau eventual tot fișierul .bashrc pe care le veți găsi în acest material…

Mesaj de întâmpinare

Folosind comanda echo putem seta apariția unui mesaj de întimpinare în shell, mesaj care poate fi unul de salut și/sau un mesaj cu informații utile. Mesajele acestea vor apărea în partea de sus a consolei și pot fi colorate cu culoarea implicită a textului din shell (alb, verde, etc.), sau pot fi colorate după preferință. În primul rând vom defini culorile necesare adăugând definițiile în .bashrc:

BLACK='\e[1;30m'                                          
RED='\e[1;31m'                                              
GREEN='\e[1;32m'                                         
BROWN='\e[1;33m'
BLUE='\e[1;34m'
PURPLE='\e[1;35m'
CYAN='\e[1;36m'
WHITE='\e[1;37m'

Am ales variantele light ale culorilor, culori strălucitoare și font mai gros.
Pentru un mesaj de salut de genul: Salut user! , trebuie să adăugăm în fișierul .bashrc următoarea linie: echo Salut $USER! ( pe o singură linie). Dacă dorim colorarea mesajului într-o culoare anume, este necesară definirea culorilor,apoi ne folosim de opțiunile comenzii echo, și adăugăm o linie de formatul: echo -e „${GREEN}“ „Salut, $USER! “. Se poate modifica culoarea, în funcție de dorință.
Deasemeni putem avea mesaje cu diferite informații despre sistem, dată, oră, calendar și multe altele.Voi adăuga o mică listă cu linii ce pot fi inserate în .bashrc, cu scurte comentarii:

echo -ne "${GREEN}" "Hello, $USER. Azi e "; date    =afișează salutul, data și ora(în verde)
echo -e "${YELLOW}"; cal ;                                           =afișează calendarul lunii
echo -e "${YELLOW}"; cal -3;                                        =afișează calendarul pe 3 luni(precedentă, curentă și următoare)
echo -ne "${PURPLE}Sysinfo:";uptime ;                      =informații uptime
echo -e "${WHITE}"; uname -a ; cat /etc/release;        =informații sistem, arhitectură procesor, versiune, kernel
echo -e "${CYAN}"; fortune ;                                         =fortune este o aplicație interesantă care afișează în mod aleatoriu un proverb, maximă, o glumă.

Este suficient să instalați fortune: #urpmi fortune-mod plus unul sau mai multe din pachetele cu texte (fortune-movies, fortune-murphy, fortune-starwars, fortune-top 100, etc.) și să plasați în .bashrc o linie fortune. Dacă preferați ca și citatul dat de fortune să fie colorat în loc de linia fortune puneți o linie de forma: echo -e „${BLUE}“; fortune ; . Dacă doriți să limitați numărul de caractere afișat de fortune, pentru a nu ocupa prea multe linii comanda este echo -e „${BLUE}“; fortune -n 80; (implicit numărul de caractere este 160). Este posibil să vă faceți singuri o bază de date cu texte care să apară în consolă.
Căutați pe internet maxime, glume sau altceva, le copiați într-un fișier text numit de exemplu maxime, textele fiind despărțite de câte un rând în care este caracterul %, fișier pe care-l copiați în directorul home și îl transformați într-o bază de date (cu comanda #strfile maxime). Pentru ca fortune să afișeze textele din baza de date nou apărută (maxime.dat) linia din ~/.bashrc va fi: echo -e „${LIGHTCYAN}“; fortune maxime ;

În imaginea următoare puteți observa efectul acestor linii asupra aspectului consolei. Bineînțeles puteți păstra toate liniile sau doar una, două, după plac. În plus observați o modificare asupra promptului, modificare descrisă la punctul următor. Fortune poate fi folosit în combinație cu cowsay, o mică aplicație care face ca expresia respectivă să fie “spusă” sau “gândită” de un desen ASCII în formă implicită de vacă, sau de alte animale: oaie, broască, pinguin, koala, etc. Pentru aceasta trebuie modificată linia cu fortune în unul din modurile următoare:

echo -e "${CYAN}"; fortune | cowsay ;                             = varianta clasică: vaca vorbitoare;
echo -e "${CYAN}"; fortune | cowsay -f tux ;                   = vaca este înlocuită de un pinguin;
echo -e "${CYAN}"; fortune | cowsay -f sheep ;              = varianta cu oaie;
echo -e "${CYAN}"; fortune | cowthink -f turkey ;           = afișează “gândurile” unui curcan.

Mai multe detalii: http://www.flamingtext.com/tools/cowsay/ .

Un exemplu de conținut de fișier personal pentru fortune:

%
Cand un barbat iți fură nevasta, nu e răzbunare mai bună decât să-l lași să o păstreze (Sacha Guitry)
%
Nu ești beat atâta timp cât poți să zaci întins pe parchet, fără să te sprijini.  (Murphy)
%
O fi bine in Rai, dar cele mai interesante persoane nu ajung acolo. (Nietzsche)
%
Prima carte care trebuie interzisă este catalogul cărtilor interzise.  (Murphy)
%
In viață nu contează dacă pierzi sau câștigi. Contează dacă pierd sau câștig eu... (Winston Churchill)
%
Tot ce e bun: ori e imoral, ori este ilegal, ori ingrasă.    (Murphy) 
%  
Ce ție nu-ți place, altuia nu-i face. Că nu toată lumea are aceleași gusturi. (G.B. Shaw)
%
Dacă ceva funcționează, nu încerca să-l repari.  (Murphy)
%
Paradoxul homosexualilor este că, deși nu reușesc să se reproducă, sunt în fiecare an din ce in ce mai mulți. (Tristan Bernard)
%
Un program pentru calculator face ceea ce îl pui tu să facă, nu ceea ce vrei tu să facă.  (Murphy)
%
Statisticile sunt precum costumele de baie: iți arată ce știe toată lumea și iți ascund exact ceea ce ai fi vrut sa afli. (Georges Vedel)
%
Inteligența artificială nu se poate compara cu prostia naturală.   (Murphy)
%
Bravura nu-i decât o vorbă goală. Brav e doar cel ce ține arma de partea unde e trăgaciul!    (Sven Hassel)
%
Un bărbat nu este complet daca nu este însurat. Abia atunci este terminat. (Robert Frost)
%
 Toate ciupercile sînt comestibile. Cel puțin o dată.  (Anonim)
%
Cine a zis că sexul este un raspuns? Sexul este o intrebare. "Da" este raspunsul. (Woody Allen)
%
Experiența este cel mai dur profesor, pentru că întâi iți dă testul și abia apoi iți spune care era lecția.  (Vernon Law) 
%
Daca te lași de fumat, de băut si de femei nu traiești mai mult... doar că timpul trece mult mai greu. (Clement Freud)
%
 A vorbi despre salariul brut ca și cum ar fi salariul tău este ca și cum ai include lungimea șirei spinării în dimensiunea penisului.  (Anonim)
%
Nu e bine să fii obligat să alegi intre Rai si Iad. Prieteni buni gasești in ambele locuri. (Mark Twain)
%
Belladonna: în limba italiană, femeie frumoasă; în engleză, mătragună - un foarte bun exemplu de sinonime...   (Anonim)
%

Alte aplicații utile pentru afișarea unor mesaje de salut sunt banner, figlet, toilet, tput. Puteți încerca aceste aplicații în konsole dând una sau alta din comenzile următoare sau copiindu-le în .bashrc:
- banner mesaj (de exemplu banner Mandriva, deci înlocuim mesaj cu mesajul dorit!);
- figlet -tf slant mesaj;
- toilet -f mono9 -F metal mesaj;
- toilet -f mono9 -F gay mesaj.


Prompt modificat

Pentru a seta variabila de mediu care determină promptul afișat în consolă (PS1), precum și alte variabile de mediu se folosește comanda ¨export¨. Veți observa că pe lângă aspectul inedit, modificarea promptului este utilă, observând mult mai ușor dacă sunteți logat ca root ori user,sau dacă comanda dată a fost executată și avem consola liberă pentru alte sarcini.
Promptul este acel scurt mesaj din consolă, care de obicei ne prezintă informații despre utilizator, numele mașinii și directorul curent (cam așa ceva: [dan@stressat ~]$ ⇒ unde dan=utilizator, stressat=nume sistem și ~=directorul home al userului curent, în acest caz /home/dan). Pentru a afla structura promptului într-o consolă dăm comanda:

echo $PS1
[\u@\h \W]\$

Dar pe lîngă user, hostname și director putem pune orice altceva: oră, dată, etc. Să presupunem că dorim ca promptul să ne arate și ora exactă. Pentru asta adăugăm în /home/user/.bashrc o linie de genul:

export PS1="[\u@\H \W \@]\$"

sau putem verifica mai întâi aspectul promptului dând in consolă comanda

export PS1="[\u@\H \W \@]\$"

Dacă suntem mulțumiți de prompt punem linia respectivă în ~/.bashrc.
Dacă dorim ca promptul să fie colorat avem câteva posibilități. În primul rând în mediile Mandriva găsim o aplicație numită colorprompt care odată instalată va colora promptul de user în verde și cel de root în roșu.Deci ajunge rularea comenzii #urpmi colorprompt în consolă, iar la repornirea consolei vom avea promptul colorat. Poate preferați alte culori pentru prompt, sau chiar ca fiecare termen al promptului să aibă o culoare diferită ? Este simplu… Toate aceste modificări se pot face în același director .bashrc, cu același tip de linie adăugată: export PS1=“[\u@\H \W \@]\$“ la care adăugăm parametrii pentru colorare:

\e[x;ym           =>pornește schema de colorare;
\e[m                =>oprește schema de colorare;

x;y reprezintă culoarea dorită(dacă înlocuim 0 cu 1 obținem varianta light a culorii- nuanță mai vie și font puțin mai gros, iar dacă înlocuim cu 4 obținem prompt subliniat/underline):

0;30       =culoarea neagră;
1;30       =culoarea gri închis;
0;31       =culoarea roșie;
0;32       =verde;
0;33       =maron (1;33 este galben);
0;34       =albastru;
0;35       =magenta;
0;36       =cyan;
0;37       =alb;
0;30       =negru;
1;31       =roșu strălucitor/ lightred;
4;31       =roșu subliniat/ underline red;
5;31       =roșu clipitor/ blink red;
7;31       =culori inversate între fundal și text.


\u  =user;
\h  =hostame;
\w =director curent;
\$ =variabilă care setează afișarea caracterului $ pentru user și # pentru root;
\d =data;
\A =ora curentă în format 24 de ore
\@ =ora în format 12 ore Am/Pm.

Deci dacă vrem un prompt de user de culoare albastră și care să indice userul, gazda, directorul curent și ora curentă în format 24 ore, este suficient să adăugăm în fișierul ~/.bashrc următoarea linie:

export PS1="\[\e[0;34m[\u@\h \W \A]\$ \e[0m\] "

pentru un albastru puțin mai deschis înlocuim 0;34 cu 1;34, pentru verde cu 0;32, etcetera. Este posibil să avem promptul cu fiecare termen de altă culoare. Pentru aceasta trebuie să încadrăm fiecare termen în propria schemă de colorare, folosind culoarea dorită,de exemplu:

export PS1="\[\e[1;32m[\u\e[0m\e[1;36m@\e[0m\e[1;33m\h\e[0m:\e[1;35m\w\e[0m \e[1;36m\@]\e[0m\e[1;31m\$\e[0m\] " 

(aceasta este o singură linie, aici nu încape pe un singur rând, cum ar trebui pusă în .bashrc). Aspectul dat de această ultimă comandă îl vedeți în imaginea următoare.

Un prompt ceva mai complex este următorul :

export PS1='\[\033[0;32m\]┌─[ \[\033[0m\033[0;32m\]\u\[\033[0m\] @ \[\033[0;36m\]\h\[\033[0m\033[0;32m\] ] - [ \[\033[0m\]\w\[\033[0;32m\]]\n\[\033[0;32m\]└─[\[\033[0m\033[0;32m\]\$\[\033[0m\033[0;32m\]]>\[\033[0m\] '

Sau, în caz ca folosiți mai multe sisteme în chroot, pentru a ști în care sistem vă aflați :

export PS1='\[\033[0;32m\]┌─[ \[\033[0m\033[0;32m\]\u\[\033[0m\] @ \[\033[0;36m\]\h\[\033[0m\033[0;32m\] ] - [ \[\033[0;31m\]ArchLinux\[\033[0;32m\] ] - [ \[\033[0m\]\w\[\033[0;32m\] ]\n\[\033[0;32m\]└─[\[\033[0m\033[0;32m\]\$\[\033[0m\033[0;32m\]]>\[\033[0m\] '
export PS1='\[\033[0;32m\]┌─[ \[\033[0m\033[0;32m\]\u\[\033[0m\] @ \[\033[0;36m\]\h\[\033[0m\033[0;32m\] ] - [ \[\033[0;31m\]Ubuntu\[\033[0;32m\] ] - [ \[\033[0m\]\w\[\033[0;32m\] ]\n\[\033[0;32m\]└─[\[\033[0m\033[0;32m\]\$\[\033[0m\033[0;32m\]]>\[\033[0m\] '

Pentru cei ce sunt la început și evident nu se prea pricep (deocamdată), vom adăuga în acest material un fișier .bashrc pentru inspirație. Am adăugat mai multe linii pe care nu le folosim, comentate (au simbolul # în față). Ștergând caracterul # din fața unei linii o decomentăm și ca atare va fi luată în considerație de sistem, fiind afișat în konsole outputul comenzii respective. Similar putem comenta o linie nedorită prin adăugarea în fața acesteia a caracterului #. Puteți copia conținutul acestui fișier în propriul dumneavoastră fișier .bashrc (~/.bashrc pentru setări locale):

# .bashrc

# User specific aliases and functions

# Source global definitions
if [ -f /etc/bashrc ]; then
	. /etc/bashrc

#Mesaj întâmpinare
BLACK='\e[1;30m'
RED='\e[0;31m'
LIGHTRED='\e[1;31m'
GREEN='\e[0;32m'
LIGHTGREEN='\e[1;32m'
BROWN='\e[0;33m'
YELLOW='\e[1;33m'
BLUE='\e[0;34m'
LIGHTBLUE='\e[1;34m'
PURPLE='\e[0;35m'
LIGHTPURPLE='\e[1;35m'
CYAN='\e[0;36m'
LIGHTCYAN='\e[1;36m'
WHITE='\e[1;37m'
echo -ne "${LIGHTRED}" "Salut, $USER! Azi e "; date
echo -e "${YELLOW}"; uname -a ; 
#echo -e "${LIGHPURPLE}";cat /etc/release ;
#echo -ne "${LIGHTBLUE}Sysinfo:";uptime ;echo ""
#echo -e "${LIGHTPURPLE}"; cal -3 
echo -e "${LIGHTCYAN}"; fortune maxime ; 

#Aliasuri
alias mplay='mplayer -zoom -x 600 -y 460 -playlist ~/Music/Videoclipuri/playlist.m3u'
alias fbterm1='./fbterm-bi ~/Pictures/tux.jpg'
alias fbterm='./fbterm-bi ~/Pictures/5.jpg'
alias fbterm2='./fbterm-bi ~/Pictures/desen.jpg'
alias grep='grep --color=tty -d skip'
alias src='rpm -qa --qf %{NAME}-%{VERSION}-%{RELEASE}-%{ARCH}\\n | grep -i '
alias die='kill -9'
alias x='exit'
alias rd='rmdir'
alias md='mkdir'
alias h='history' 
alias ls='ls -h --group-directories-first --time-style=+"%d.%m.%Y %H:%M" --color=auto -F'
alias lynx='lynx -accept_all_cookies'
alias moc='mocp -T ~/.moc/moca_theme'
alias ffmpeggbox='ffmpeg -f alsa -ac 2 -i pulse -f x11grab -r 30 -s 1280x960 -i :0.0 -acodec pcm_s16le -vcodec libx264 -vpre lossless_ultrafast -threads 0 captura.avi'
alias ffmpeggmic='ffmpeg -f alsa -ac 2 -i pulse -f x11grab -r 30 -s 1280x960 -i :0.0 -acodec pcm_s16le -vcodec libx264 -vpre lossless_ultrafast -threads 0 capmic.avi'
alias glmatrix='xwinwrap -ni -fs -s -st -sp -b -nf -- /usr/lib64/xscreensaver/glmatrix -root -window-id WID'
alias xwinwrapf='xwinwrap -ni -fs -s -st -sp -b -nf -- mplayer -wid WID -vo gl2 -ao alsa -shuffle -playlist '~/Music/Videoclipuri/playlist' -loop 0'
alias xwino='xwinwrap -ov -g 900x600+200+200 -sh circle -- mplayer -wid WID -vo gl2 -ao alsa -shuffle -playlist '~/Music/Videoclipuri/playlist' -loop 0 '
alias xwinc='xwinwrap -ov -g 700x700+300+150 -sh circle -- mplayer -wid WID -vo gl2 -ao alsa -shuffle -playlist '~/Music/Videoclipuri/playlist' -loop 0 '
alias xwint='xwinwrap -ov -g 900x600+200+200 -sh triangle -- mplayer -wid WID -vo gl2 -ao alsa -shuffle -playlist '~/Music/Videoclipuri/playlist' -loop 0 '
alias xwind='xwinwrap -ov -g 900x600+200+200 -- mplayer -wid WID -vo gl2 -ao alsa -shuffle -playlist '~/Music/Videoclipuri/playlist' -loop 0 '
alias meteo='weather --id=LRIA'

#Radio
alias mpe='mplayer -playlist ~/Downloads/live.m3u'                                        #radio europafm
alias mpk='mplayer -playlist ~/Downloads/radio/listen.pls'                               #radio kissfm
alias mpz='mplayer -playlist ~/Downloads/radio/live.m3u'                                #radio zu
alias mpc='mplayer -playlist ~/Downloads/radio/cityfm_128.m3u'                    #radio cityfm
alias mpp='mplayer -playlist ~/Downloads/radio/profm.mp3.m3u'                    #radio profm

#export PATH=/usr/share/cw:$PATH 
export PATH=~/.cw:$PATH

# prompt
#PS1='[\u@\h \W]\$ '
#PS1='\[\e[1;32m\][\u@\h \W]\$\[\e[0m\] '
PS1='\[\033[0;32m\]┌─[ \[\033[0m\033[0;32m\]\u\[\033[0m\] @ \[\033[0;36m\]\h\[\033[0m\033[0;32m\] ] - [ \[\033[0m\]\w\[\033[0;32m\] ]\n\[\033[0;32m\]└─[\[\033[0m\033[0;32m\]\$\[\033[0m\033[0;32m\]]>\[\033[0m\] '

fi

Nu uitați că pentru a avea efect setările și aliasurile din fișier trebuie să instalați aplicațiile la care ne referim !

Putem merge chiar mai departe și să colorăm outputul comenzilor, în așa fel încât să avem consola mai interesantă folosind cwrapper, ceva oarecum asemănător cu felul cum sunt afișate în Sabayon.
1- Instalăm cwrapper:

#urpmi cw

2- trebuie adăugată calea în fișierul ~/.bashrc sau în fișierul ~/.bash_profile (dacă nu avem acest fișier îl facem noi: touch /home/user/.bash_profile) și adăugăm linia următoare:

export PATH=/usr/share/cw:$PATH

.

Cwrapper va colora ieșirile comenzilor după setările sale implicite, în mod aleatoriu, dar putem modifica culorile pentru outputul fiecărei comenzi în parte în fișierele de configurare aflate în directorul /usr/lib/cw (de exemplu pentru culori personalizate pentru otputul comenzii date trebuie modificat fișierul date). Totuși este preferabil să setăm cwrapper pe plan local, în directorul nostru home. Pentru aceasta creăm un fișier .cw în care copiem fișierele de configurare din /usr/share/cw, facem modificările dorite de noi și în final setăm calea pentru aplicație adăugând linia următoare în ~/.bashrc sau în ~.bash_profile :

export PATH=~/.cw:$PATH

După repornirea interfeței grafice sau restart, vom avea un terminal/ tty plin de culoare. Dacă folosiți mesaj de întâmpinare în consolă cu vreuna din comenzile ce sunt afectate de cwrapper (comenzile ce au fișiere de configurare în /usr/share/cw sau ~/.cw, cum sunt uname -a, date, cal, clock) veți observa că mesajul de întâmpinare respectiv este afectat de schema de colorare folosită de cwrapper, astfel încât putem ajunge la rezultate chiar mai spectaculoase, având cuvintele de o anumită culoare, cifrele de altă culoare, simboluri precum , . / - : # de alta… Colorarea outputului comenzilor e valabilă și în interiorul fbterm și screen, deci vom obține un terminal în mod text/ tty mult mai colorat și mai agreabil.
Un exemplu de setare cw, fișierul ~/.cw/uname:

#!/home/alex/.cw/bin/cw
path /bin:/usr/bin:/sbin:/usr/sbin:<env>
random cyan:green:purple:grey+
base yellow
digit red+:default
match red+:default /
match red+:default :
match red+:default .
match red+:default -
match red+:default #
ifnarg --help:--version
token purple+:default 0 32
ifnarg -a:-all
nopipe

Comparând acest fișier cu cel din propriul director .cw veți vedea cum se fac modificările. În mod similar puteți modifica celelalte fișiere cw. Pentru cei care au o versiune de Mandriva mai veche sau au altă distribuție (în paralel ori în loc de Mandriva), sau doresc să-și instaleze ultima versiune a uneia din aplicațiile următoare, ori pur și simplu vor să-și compileze singuri, vom expune și instalarea din surse a aplicațiilor. Pentru cwrapper:

wget http://cwrapper.sourceforge.net/cw-1.0.16.tar.gz 
tar xzf cw-1.0.16.tar.gz
cd cw-1.0.16
./configure --prefix=/usr
make installlocal

După cum suntem anunțați la instalare trebuie adăugată calea în fișierul ~/.bash_profile (dacă nu avem acest fișier îl facem noi , ca si utilizator: touch .bash_profile) și adăugăm linia următoare:

export PATH="~/.cw/def:$PATH"

Setările se fac în directorul ~/.cw/def, în care veți găsi fișierele de configurare, exact în același mod ca și pentru instalarea din medii.

Sursa: http://tuxtraining.com/2009/09/08/cwrapper-a-wrapper-for-colorizing-the-output-of-common-unix-commands .

Schimbare nume sistem

După cum ați observat, numele sistemului dumneavoastră este setat implicit ca ¨localhost¨. În cazul în care doriți să aveți un nume mai deosebit, ceva personal, este ceva simplu de realizat, trebuie modificate două fișiere:
a) editați /etc/hosts (comanda #kwrite /etc/hosts) și înlocuiți linia

127.0.0.1    localhost

cu linia:

127.0.0.1   nume_dorit localhost;

b) editați /etc/sysconfig/network și adăugați linia

HOSTNAME=nume_dorit

Acum avem o consolă atractivă, așa că ar fi bine să o folosim cât mai des.
Și nu numai pentru instalări sau actualizări… În linia de comandă putem face toate lucrurile care se fac de obicei în interfața grafică: putem asculta posturi de radio online, melodii .mp3, urmări filme sau videoclipuri, și chiar canale Tv transmise online, putem trimite e-mailuri, inscripționa cd-uri și dvd-uri, conversa cu prietenii pe messenger sau IRC și multe altele. Și ceea ce este mai important, putem face toate aceste lucruri foarte simplu și repede.

Fbterm

Dacă tot petrecem ceva timp în tty, ar fi plăcut să avem câteva facilități, cum ar fi o imagine de fundal, un shell care să redea diacriticele corect. Pentru asta instalăm fbterm și fbv:

#urpmi fbterm fbv

. Apoi creați un fișier numit fbterm-bi ( touch ~/fbterm-bi ) și în el copiați textul următor:

#!/bin/bash

# fbterm-bi: a wrapper script to enable background image with fbterm
# usage: fbterm-bi /path/to/image fbterm-options

echo -ne "\e[?25l" # hide cursor

fbv -ciuker "$1" << EOF
q
EOF

shift
export FBTERM_BACKGROUND_IMAGE=1
exec fbterm "$@"

Salvați fișierul, faceți-l executabil ( #chmod a+x ~/fbterm-bi ) și logați-vă într-un tty (tty1 de xemplu cu combinația de taste: Ctrl+Alt+F1). Dați comanda:

./fbterm-bi /home/user/Pictures/Space.jpg

și veți avea wallpaper în terminal. Evident putem folosi iar un alias de forma

alias fbterm='./fbterm-bi /home/user/Pictures/Space.jpg'

Pentru posesorii de plăci video Intel (poate și Ati/ AMD): dacă aveți necazuri cu afișarea imaginii de fundal și a diacriticelor creați/ editați fișierul fbterm-bi cu mcedit sau vi/ vim pentru o formatare corectă. După logarea în tty comanda fbterm (dacă am setat un alias, altfel comanda va fi ./fbterm-bi /home/user/Pictures/Space.jpg ) deschide emulatorul de terminal fbterm, în care putem obseva că sunt afișate corect diacriticele. E bine de știut că screen rulează în interiorul fbterm… Pentru o imagine clară cu scris lizibil e bine ca imaginea să fie puțin prelucrată anterior, redusă preferabil la o scală de gri și micșorată luminozitatea. Aceasta e varianta optimă. Dar mai există posibilitatea modificării culorii fundalului și a textului din fișierul de configurare .fbtermrc. Se pot modifica fontul folosit (font-names), dimensiunea acestuia (font-size), culoarea textului (color-foreground), culoarea fundalului (color-background).

Instalarea din surse fbterm: 1 - descarcam si compilam:

wget http://fbterm.googlecode.com/files/fbterm-1.7.tar.gz
tar xzf fbterm-1.7.tar.gz
cd fbterm-1.7
./configure --prefix=/usr
make

2- ne logăm ca root și încheiem instalarea:

make install

Apoi instalăm și fbv tot din surse:

wget http://s-tech.elsat.net.pl/fbv/fbv-1.0b.tar.gz
tar xzf fbv-1.0b.tar.gz
cd fbv-1.0b
./configure --prefix=/usr
make

2- ca root:

make install

În sfârșit creați fișierul numit fbterm-bi ( touch ~/fbterm-bi ) și copiați în acesta textul arătat anterior.

Sursa: http://kmandla.wordpress.com/2010/05/28/fbterm-birth-of-the-cool-for-the-console/ .

În imaginea precedentă puteți observa fbterm în acțiune. În interiorul fbterm rulează screen cu patch-ul vertical_split. În partea de sus a ferestrei este moc (Music on console- player audio), iar în parte a de jos sunt 2 shell-uri, cel din stânga nefolosit, iar în cel din dreapta am luat screenshot-ul acesta. Se poate observa afișarea corectă a diacriticelor în mesajul de întâmpinare și în mesajul Fortune. Culoarea textului este modificată în magenta în .fbtermrc.
Dacă uneori sunteți deranjat de mesajele de întâmpinare, fortune, etc., și doriți un shell liber, comanda clear va curăța shellul, lăsând doar promptul. Este util în ferestrele mici din screen.
Pentru o afișare corectă este posibil să fiți nevoiți să setați rezoluția framebufferului prin adăugarea parametrului vga=788, sau vga=793 (sau a altei valori în funcție de monitorul folosit) în /boot/grub/menu.lst (pentru Grub) sau în fișierul /boot/grub/grub.cfg (pentru Grub2) după linia cu kernel (la secțiunea Title Linux). De exemplu, pe un monitor de 19”/ rezoluție 1280×960 valoarea optimă este vga=788 pentru rezoluție de 800×600. Dacă doriți o rezoluție mai bună, de exemplu 1024×768 atunci setați vga=791, pentru 1280×1024 setați vga=794. Câteva valori:

          | 640x480    800x600    1024x768    1280x1024
      ---------------------------------------------------------------------------
      256 | 0x301=769  0x303=771  0x305=773   0x307=775
      32K | 0x310=784  0x313=787  0x316=790   0x319=793
      64K | 0x311=785  0x314=788  0x317=791   0x31A=794
      16M | 0x312=786  0x315=789  0x318=792   0x31B=795

O variantă de a afla toate rezoluțiiile posibile pentru placa video e folosirea comenzii hwinfo –framebuffer , cu diferența că valorile vor fi afișate sub forma: Mode 0x0314: 800×600 (+1600), 16 bits. După cum este afișat în tabelul anterior 0x314=788, deci putem folosi în loc de vga=788 și vga=0x314 (sau ce valoare dorim)…Este recomandat să evitați folosirea valorilor din prima linie a graficului anterior (cea care începe cu 256), linie unde sunt arătate rezoluțiile pe 8 biți, și să folosiți rezoluțiile pe 16 biți (din linia a doua, cea care începe cu 32k) sau cele pe 24 biți (cele din ultima linia, cea care începe cu 16M). Asta deoarece rezoluțiile pe 8 biți au dezavantajul că afișează incorect culorile imaginii de fundal și deasemenea pe cel că nu mai putem folosi aplicații de luat screenshoturi precum fbgrab.

Pentru a folosi aplicațiile acestea userul trebuie să facă parte din grupul video (#gpasswd -a user video) și deasemeni trebuie date ceva drepturi (#chmod a+rw /dev/fb0 ).

Ghidul prezent este valabil și pentru Rosa 2012 LTS:

GNU Screen: multiplexare terminal

Screen este un administrator de ferestre care permite folosirea mai multor shell-uri în același terminal. Astfel putem rula mai multe sarcini consecutiv, fără să schimbăm terminalul tty (într-un shell putem asculta muzică cu moc, în alt shell putem viziona videoclipuri, în altul putem actualiza sistemul, etc.).

Instalare:

#urpmi screen

Mod de utilzare:

Combinația de taste Ctrl+a pune screen în mod așteptare comenzi, deci comenzile destinate screen vor fi precedate obligatoriu de această combinație. Altfel comenzile date sunt destinate shell-ului curent, cel în care clipește cursorul.

  1. Ne logăm în tty;
  2. Dăm comanda screen;
  3. Ctrl+a (acum screen așteaptă comenzile noastre) și apoi S (Shitf+s): screen va sparge tty în două părți, în partea de sus avem shell, în cea de jos nimic;
  4. Ctrl+a și apoi Tab: așa ne mutăm în partea de jos a ferestrei tty;
  5. Ctrl+a urmat de Ctrl+c: astfel pornim un nou shell în partea de jos a ferestrei, și avem două shell-uri funcționale (console dacă vreți) într-un singur terminal. Și putem repeta procedeul, obținând mai multe shell-uri. Ne putem muta dintr-un shell în altul, putem porni aplicații diferite în oricare shell, putem duce unul sau mai multe shell-uri în background (fundal) sau readuce în foreground (prim-plan). Ca să închidem un shell folosim combinația Ctrl+d, ca în orice consolă. Combinația Ctrl+a X înlătură/ șterge/ închide porțiunea de screen (una din porțiunile ferestrei screen) din aranjament. Combinația este utilă și în cazul în care dorim ferestre inegale ca dimensiune: deschidem 3 ferestre screen, ne mutăm de exemplu în cea din mijloc și cu Ctrl+a X o înlăturăm. Cum screen nu realocă spațiul, iar fereastra de sus este ocupată, aceasta va prelua și spațiul ocupat anterior de fereastra din mijloc. Astfel fereastra de sus ocupă acum 2/3 din ecran iar cea de jos 1/3…

Mai simplu de redimensionat ferestrele din cadrul screen este prin editarea fișierului de configurare screen: ~/.screenrc și modificarea liniilor din secțiunea key binding. De exemplu prin modificarea/ adăugarea liniilor următoare:

bind = resize =

bind / resize max

bind * resize +1

bind + resize +5

bind _ resize -1

bind - resize -5

vom putea mări/ micșora dimensiunea unui shell:

Ctrl+a + = va mări suprafeța cu 5 linii/ coloane, în funcție de poziția ferestrei;

Ctrl+a - = va micșora suprafața cu 5 linii/ coloane, etc.

În imaginea următoare în tty sunt vizibile două shell-uri. În cel de sus este mplayer cu un videoclip, în cel de jos este playerul audio moc, recent închis. Se poate observa și modul în care e luată imaginea (fbgrab).

Comenzi utile:

screen  = pornește screen;
screen -S nume = pornește o  consolă screen și îi dă un nume; 
screen -ls  = listează consolele existente;
Ctrl+a  ? (Ctrl+a urmate de ?)   = afișează lista de comenzi disponibile în screen;
Ctrl+a  p   = comută în consola anterioră, precedentă;
Ctrl+a  n   = comută în consola următoare;
Ctrl+a  N  = (unde N este un număr între 0 și 9) comută în consola desemnată de număr;
Ctrl+a  ¨   = listează consolele deschise;
Ctrl+a  -d  = detașează consola;
Ctrl+a  -r  = reatașează consola detașată anterior
Ctrl+a  H  = creează loguri de sesiune;
Ctrl+a  M  = pornește monitorizarea activității Bash/ dată din nou oprește monitorizarea;
Ctrl+a  K  = închide (omoară) sesiunea curentă a screen.
Ctrl+a V   = desparte fereastra pe verticală

Instalare din surse este utilă pentru versiunile vechi și pentru distribuțiile care au în medii screen fără patch-ul vertical split:

1- descarcam si compilam:

wget http://www.sfr-fresh.com/unix/misc/screen-4.0.3.tar.gz
tar zxvf screen-4.0.3.tar.gz
cd screen-4.0.3
wget http://vsp4sdl.yuggoth.org/wrp_vertical_split_0.3_4.0.2.diff.bz2
bunzip2 wrp_vertical_split_0.3_4.0.2.diff.bz2
patch -Np1 < wrp_vertical_split_0.3_4.0.2.diff
./configure --prefix=/usr
make

2- ca root instalăm:

make install

Screen poate fi setat astfel încât la pornirea aplicației să pornească direct aplicațiile preferate. Astfel în fișierul de configurare ~/.screenrc, la secțiunea #default windows, putem adăuga liniile următoare:

screen -t mocp 0 mocp
screen -t mc 1 mc
screen -t htop 2 htop
screen -t centerim 3 centerim
screen -t lynx 4 lynx

În acest mod, screen va porni aplicațiile sus-pomenite direct, fiecare în altă fereastră screen, maximizate, full screen, deci vizibilitatea este mult mai bună comparativ cu o fereastră mai mică. Pentru a schimba între aplicații, de fapt între ferestrele cu aplicații folosim combinația Ctrl+a urmată de numărul ferestrei: 0 pentru fereastra cu moc, 1 pentru fereastra cu mc, 2 pentru htop, etc. Evident pe lângă aplicațiile amintite se pot adăuga oricare altele, după preferințele personale…

Byobu

Un alt manager de ferestre în CLI este Byobu, o îmbunătățire adusă Screen. De fapt Byobu este doar un wrapper, o ”haină” pentru Screen, un Screen făcut mai ”prietenos”. Toate comenzile și setările Screen funcționează și-n Byobu, iar în plus există posibilitatea de a folosi unele ”scurtături”, tastele funcționale. De exemplu în loc de combinațiile de taste Ctrl+a n și Ctrl+a p pentru trecerea la fereastra următoare, respectiv cea precedentă se pot folosi tastele F3 și F4, cu F2 deschidem o nouă fereastră, F9 ne duce în meniul de configurare. Veți vedea că este foarte intuitiv meniul, imediat vă dați seama ce și cum se poate face, explicațiile sunt de prisos. Dacă folosiți htop pentru monitorizarea sistemului intervine o mică problemă, deoarece tasta F6 este alocată de Byobu pentru detașarea ferestrelor, iar htop are tasta alocată pentru alegerea criteriului de afișare a consumului: după procesor, memorie, etc. Problema se poate rezolva prin modificarea fișierului ce setează alocarea tastelor, respectiv /usr/share/byobu/keybindings/f-keys, comentând sau ștergând linia cu F6. Astfel F6 va rămâne cu scopul său din htop.

Exact ca și screen putem seta ca la pornirea byobu să pornească automat unele aplicații, fiecare într-o fereastră proprie, prin modificarea fișierului ~/.byobu/windows și adăugarea aplicațiilor dorite, în forma:
screen -t shell shell
screen -t moc mocp
screen -t htop htop
screen -t centerim centerim
screen -t rtorrent rtorrent
screen -t mutt mutt

Dacă aveți deja făcute aceste setări în fișierul de configurare al screen (~/.screenrc), aceste setări vor fi recunoscute și aplicate de byobu automat, deci riscați să aveți câte două instanțe ale aceleeași aplicații rulând în ferestre diferite.

Cea mai interesantă deosebire față de screen o prezintă bara afișată în partea de jos a ferestrei, unde sunt afișate tot felul de informații utile, precum ferestrele cu aplicații deschise, ora exactă, memorie, procesor, IP, user, hostname, distribuție folosită (plus logo-ul acesteia) și multe altele. Pentru modificări: F9- Toggle status notifications- cu tastele săgeți sus-jos navigăm, cu Space bifăm- debifăm, cu săgeată dreapta trecem la Apply sau Cancel, Enter.

Este bine de remarcat că byobu sau screen pot fi folosite cu succes și-n interfața grafică pentru comoditate: pornim screen sau byobu și avem automat în konsole toate aplicațiile setate în .screenrc sau .byobu/windows.

Byobu cu mocp, htop, centerim, rtorrent și două shell-uri:


Byobu cu calendar, lynx-mrb,moc,si asciiquarium-screensaver ( F9 pentru meniu)

Screensaver în tty

V-ar interesa să aveți și screensaver în tty/ screen??? Simplu. În primul rând trebuie instalate aplicațiile ce vor face acest lucru posibil, cmatrix, caca-utils și asciiquarium:

#urpmi cmatrix caca-utils asciiquarium

. Apoi în .screenrc fie modificăm unele linii, fie adăugăm liniile următoare, o variantă la alegere:

Pentru screensaver cu acvariu:

blankerprg asciiquarium
idle 60 blanker  

Pentru screensaver cu matrice:

blankerprg cmatrix -ab -u2
idle 60 blanker 

Pentru screensaver cu foc:

blankerprg cacafire                        
idle 60 blanker

Putem înlocui valoarea 60 (este vorba de secunde, 60= 1 minut) cu una personală, în funcție de timpul după care dorim să intre screensaverul în acțiune. La cmatrix putem schimba culoarea textului în roșu (red), galben (yellow), bleu (cyan), etc., folosind opțiunea -C (de exemplu adăugând liniei -C red textul va fi de culoare roșie), sau schimba fontul în font îngroșat, bold cu opțiunea -B.

Screensaver acvariu ascii:

Screensaver cmatrix:

Screensaver cacafire:

Sursa: http://kmandla.wordpress.com/2009/05/24/howto-patch-and-set-up-screen-vs/ .

DVTM

O alternativă interesantă la screen este dvtm (dynamic virtual terminal manager), un alt administrator de ferestre în terminal/ tty. Ca și screen, dvtm rulează în fbterm, deci vom avea diacriticele afișate corect, vom avea o imagine de fundal, putem folosi mouse-ul, putem crea ferestre în același terminal, etc.

Instalare:

#urpmi dvtm

Pornire: dvtm.

Combinația care pune dvtm în modul ascultare comenzi este Ctrl+g. După această combinație, orice comandă nu se aplică shell-ului curent, terminalului, ci dvtm, similar combinației de taste Ctrl+a din screen. Combinații utile:

- Ctrl+g c = creare fereastră nouă;

- Ctrl+g x = închidere fereastră;

- Ctrl+g l(L mic)= mărește cu 5% suprafața ferestrei curente;

- Ctrl+g h = micșorează cu 5% suprafața ferestrei curente;

- Ctrl+g m = maximizează fereastra curentă (full screen);

- Ctrl+g t = schimbă aranjamentul ferestrelor tip vertical (aspect implicit);

- Ctrl+g b = schimbă aranjamentul ferestrelor tip horizontal;

- Ctrl+g g = schimbă aranjamentul ferestrelor tip grilă;

- Ctrl+g N = schimbă fereastra curentă cu fereastra numărul N (1, 2, 3, 4, etc.), după cum veți observa fiecare fereastră are în partea de sus un număr ce o individualizează;

- Ctrl+g q = închidere dvtm.

După cum vă spuneam putem folosi și mouse-ul pentru lucrul în dvtm: - clic stânga = selectăm fereastra;

- ținând apăsată tasta Shift și butonul 1 (stânga) marcăm textul pentru copiere;

- clic dreapta = lipim textul.

În imaginea precedentă în tty rulează fbterm+fbv+dvtm, deci avem wallpaper, diacritice redate corect, iar în dvtm avem pornite următoarele aplicații: în partea stângă mc, in partea dreaptă de sus în jos centerim, htop, și shellul unde este luat acest screenshot.

Sectiunea 2

mandriva/ghid-2011/terminal_1.txt · Ultima modificare: 2012/06/30 12:05 de către shogun1