Wyświetlanie dowolnego tekstu podczas rozpoczynania nowej sesji bash

Od pewnego czasu zamarzyło mi się zrobić wyświetlanie jakiegoś tekstu podczas rozpoczynania nowej sesji terminala. Pod Slackiem wyglądało to tak, że zanim pokazało się np. ‘[email protected]:~$’ to przed tym wyświetlała się dowolna “fortunka” czyli jakiś cytat.

Mi akurat nie zależało na tym, aby pokazywały się losowe cytaty tylko jeden konkretny. Ten cytat umieściłem w pliku /etc/motd (równie dobrze może to być inny plik, np ~/.motd), a potem wystarczyło, że do pliku ~/.bashrc dopisałem coś takiego (na samym końcu):
cat {plik z MOTD}

Jak widać nic wyszukanego, a u mnie działa. Edycja pliku /etc/motd sprawi, że przy logowaniu poprzez np. SSH pokaże się również ta wiadomość.
Na koniec dołączę taki mały obrazek, jak to u mnie wygląda ;-)

demo ;p

Gwoli małego przypomnienia. Edycja pliku ~/.bashrc sprawi, że tylko nasz użytkownik będzie coś takiego widzieć, ponieważ tylko dla niego jest to ustawienie [-;

13 Responses to “Wyświetlanie dowolnego tekstu podczas rozpoczynania nowej sesji bash”

  1. jam łasica March 23, 2007 at 7:24 pm #

    Ja bym jeszcze dodał jakieś kolory :)

  2. radmen March 23, 2007 at 7:24 pm #

    Hehehe jak chcesz to możesz dodać xD

  3. Michał Górny March 23, 2007 at 7:24 pm #

    Dziwne… pod Gentoo (Fedorą zresztą też) MOTD domyślnie jest wypisywane, nie rozumiem więc konieczności tego ręcznego dodawania (i to jeszcze w tak obejściowy sposób).

  4. radmen March 23, 2007 at 7:24 pm #

    No widzisz pod moim Ubuntu wiadomość z MOTD pokaże się tylko przy zalogowaniu przez SSH.
    Podejrzewam, że gdybym nie miał KDM, logował się z „czarnego ekranu” to pewnie od razu bym widział tego MOTDa

  5. Michał Górny March 23, 2007 at 7:24 pm #

    A tak swoją drogą, skoro już to ręcznie rozwiązujesz tak, i tylko dla Ciebie to ma być, to chyba lepiej jako ~/.motd, co nie?

  6. radmen March 23, 2007 at 7:24 pm #

    Tak masz rację, ale akurat w moim wypadku chcę właśnie aby /etc/MOTD zawierał ten tekst.
    Zaraz poprawię wpis i zaznaczę, że to równie dobrze może być inna nazwa.

  7. rash March 23, 2007 at 7:24 pm #

    Dla ssh jest też fajna sprawa:
    Banner /etc/ssh/banner_motd

    Wyświetli tekst z tego pliku PRZED zalogowaniem ;-)

    Poza tym, do ~/.bashrc można dodać np. „fortune” – wyświetli losową fortunkę po zalogowaniu.

  8. radmen March 23, 2007 at 7:24 pm #

    rash: co do tego banner_motd to wiem, kiedyś też z tego korzystałem :-]
    A tych fortunek to ja właśnie nie lubię, dlatego ich nie chciałem :P

  9. pawell32 March 23, 2007 at 7:24 pm #

    A jak doddałeś grafike?

  10. radmen March 23, 2007 at 7:24 pm #

    Pawel, to nie jest grafika, tylko przezroczystość (a właściwie pseudoprzezroczystość) konsoli :)

  11. Livio March 23, 2007 at 7:24 pm #

    Wpis stary… Ale muszę powiedzieć, że fortunki w bashu są problematyczne – pisząc długie polecenie, nie jest ono pisane dalej w nowej linii ale jakoś dziwacznie zastępuje obecną linię i tak się wszystko pieprzy.

  12. radmen March 23, 2007 at 7:24 pm #

    Livio: tru. Poza tym na słabszym kompie to spowalnia nieco odpalanie tej konsoli (nie wiem dlaczego) choć to jest nieznaczna różnica

  13. Livio March 23, 2007 at 7:24 pm #

    Wiem dlaczego tak się dzieje. Musi być jedno polecenie na powitanie – cat, które wyrzuci zawartość pliku, PS1 nie może zawierać Escape’owanych znaków i kolorów. W ten sposób wszystko działa.