Kirjoittaja Aihe: Terminal (gnome-terminal ja konsole) asetukset  (Luettu 2303 kertaa)

rationaalinen

  • Käyttäjä
  • Viestejä: 67
    • Profiili
Terminal (gnome-terminal ja konsole) asetukset
« : 03.03.07 - klo:10.53 »
Tervehdys arvon (*)ubuntulaiset,

tiedättekö miten terminaalin(gnome-terminaalin tai konsolen) saa näyttämään vain ja ainoastaan nykyisen kansion, jossa ollaan(esim. "tyokansio:~$". Tällä hetkellä terminaalit näyttävät koko hakemistopolun, joka epäselkeyttää terminaalin käyttöä huomattavasti(esim. /roskaa/roskaa/roskaa/roskaa/roskaa/tyokansio/kayttaja@koneen-nimi:~$".


Lisäkysymyksenä kysyn vielä, miten taskbar :ssa majailevan tekstieditorin kuvakkeen tekstin saa näyttämään aukiolevan tiedoston nimen, esim "foo.txt"? Tällä hetkellä kaikissa auki olevissa ja taskbar :ssa näkyvissä tekstieditoreissa lukee esim. "emacs@koneen-nimi".

Kiitos vastaajille jo etukäteen.

//t: Rationaalinen

janne

  • Käyttäjä
  • Viestejä: 5150
    • Profiili
Vs: Terminal (gnome-terminal ja konsole) asetukset
« Vastaus #1 : 03.03.07 - klo:14.16 »
tiedättekö miten terminaalin(gnome-terminaalin tai konsolen) saa näyttämään vain ja ainoastaan nykyisen kansion, jossa ollaan(esim. "tyokansio:~$". Tällä hetkellä terminaalit näyttävät koko hakemistopolun, joka epäselkeyttää terminaalin käyttöä huomattavasti(esim. /roskaa/roskaa/roskaa/roskaa/roskaa/tyokansio/kayttaja@koneen-nimi:~$".

no, siis tuohan ei ole lainkaan teminaalin vaan shellin ominaisuus. ubuntussa ja aika monessa muussakin linuxissa oletusshell on bash ja bash lukee asetukset tilaneteen mukaan joko tiedostosta ~/.bashrc tai/ja ~/.bash_profile.

ubuntun .bashrc:ssa näkyy olevan promptin valintaan sen mukaan mitä terminaaliemulaattori/virtuaaliterminaali ilmoittaa TERM-muuttujan arvoksi. ubuntun terminaali kertoo olevansa xterm ja sen mukaan em. tiedostosta valitaan promptiksi:
Koodia: [Valitse]
# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
    PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD/$HOME/~}\007"'
    ;;

jotta siis vaan sitten puukottamaan, vaikka näillä ohjeilla:
http://tldp.org/HOWTO/Bash-Prompt-HOWTO/

henkilökohtaisesti kuitenkin pidän siitä, että promptissa lukee käyttä@koneen nimi koska minulla on useita etäyhteyksiä ja näen promptista helposti millä koneella olen. lisäksi minulla on root-terminaali auki ja näen siitä käteväsi, että en säädä mitään varallista pääkäyttäjän oikeuksin. se nimi vaan on helpompi nähdä kuin $ tai #.

hakemisto puolestaan... no, koko polun näkyminen kertoo yksiselitteisesti missä ollaan. voi olla aika merkityksellistä onko hakemistossa /usr/bin, /usr/local/bin vai ~/bin.

Lisäkysymyksenä kysyn vielä, miten taskbar :ssa majailevan tekstieditorin kuvakkeen tekstin saa näyttämään aukiolevan tiedoston nimen, esim "foo.txt"? Tällä hetkellä kaikissa auki olevissa ja taskbar :ssa näkyvissä tekstieditoreissa lukee esim. "emacs@koneen-nimi".

tuo taitaa olla jossain määrin editorikohtainen juttu, mutta komentorivieditorien kohdalla esim. gnome.-terminalin asetus Dynamically-set title saattaa hyvinkin olla merkityksellinen.
Janne

rationaalinen

  • Käyttäjä
  • Viestejä: 67
    • Profiili
Vs: Terminal (gnome-terminal ja konsole) asetukset
« Vastaus #2 : 03.03.07 - klo:14.52 »
Tervehdys Janne,

kiitos vinkeistä.

Pahoittelen ensimmäisessä kysymyksessä ollutta hakemistopolku esimerkkiä, joka kertoo karuakieltään säätämisen aiheuttamasta turhautumisesta.

Olet aivan oikeassa koneen tunnuksen näkymisen suhteen shell :ssä, mikäli koneella on auki etäyhteyksiä ja koneelle on kirjautuneena useampi käyttäjä.

Seuraava esimerkki olisi siis mielestäni ideaali tilanne: "kayttajatunnus@koneennimi:/tyokansio$"

En ole onneksi onnistunut tekemään vielä mitään kriittistä ajatus/näppäilyvirhettä ehkä juuri johtuen siitä, että näen jatkuvasti absoluuttisen hakemistopolun, mutta suosisin silti mieluummin ylläolevaa esimerkkiä ja "pwd" komentoa tilanteen niin vaatiessa. Ideoita tämän suhteen?

Asetus:
# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
    PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD/$HOME/~}\007"'
    ;;

ei aivan vielä toiminut sellaisenaan, vaan jotain ilmeisesti puuttuu, shell :n kertoessa ".bashrc: line 6: syntax error: unexpected end of file"

//t: Rationaalinen

janne

  • Käyttäjä
  • Viestejä: 5150
    • Profiili
Vs: Terminal (gnome-terminal ja konsole) asetukset
« Vastaus #3 : 03.03.07 - klo:17.21 »
Asetus:
# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
    PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD/$HOME/~}\007"'
    ;;

ei aivan vielä toiminut sellaisenaan, vaan jotain ilmeisesti puuttuu, shell :n kertoessa ".bashrc: line 6: syntax error: unexpected end of file"

niin siis tuota ei pidä lisätä mihinkään, vaan tiedostossa ~/.bashrc pitäisi valmiiksi olla jo tuollainen kohta (joka ei ole edes tääydellinen case-lohko). laitoin rivin näkyviin, koska siinä asetetaan kaikille xterm ja rxvt tyyppisille teminaaleille tuo PROMPT_COMMAND joka käytännössä luo tuon promptin. tällä hetkellä se on tosiaan echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD/$HOME/~}\007" ja tuota halumallaan tavalla muuttaen, päästään tietty haluttuun lopputulokseen.
Janne