Linux'ta sistem mesajını değiştirmek

Sokisati

Üye
Katılım
24 Şubat 2024
Mesajlar
21
Python programları çalıştırmak için pip, git, numpy, virtual env vs. gibi şeyleri RPI 3'üme kurarken (içerisinde RPI OS Lite 32-bit var) aklıma hoş bir fikir geldi.
Madem RPI'min ismi TARS (Interstellar filmindeki gümüş renkli, dikdörtgen robotun ismi), o zaman belirli sistem mesajları (terminal output'lardan bahsediyorum) sıkıcı şeyler yerine TARS'ın gerçekten filmde söylediği şeyler olsun.
Mesela sudo reboot veya shutdown yazdığımda kapanmadan önce turuncu renk ile Good-bye Dr. Brand. See you on the other side Coop. desin.
Veya sudo gerektiren bir komutu sudosuz kullanmaya çalıştığımda kırmızı renk ile There is a security lockout, sir, it requires a person to access function.

Bunu nasıl yapabilirim? Temel Linux kavramlarını biliyorum, o kadar. Veya bu iş için hangi kavramları bilmem gerekiyor, onu söylerseniz de mutlu olurum.

Şimdiden teşekkürler.
 

1. ANSI Escape Kodları ile Renkli Metin

Terminalde renkli metinler göstermek için ANSI escape kodlarını kullanabilirsin. Örneğin:

  • Turuncu renk: \033[33m
  • Kırmızı renk: \033[31m
  • Reset (eski renge dönmek için): \033[0m
Örnek komut:
bash:
echo -e "\033[33mGood-bye Dr. Brand. See you on the other side Coop.\033[0m"

2. Alias ve Bash Scriptler

Özelleştirilmiş mesajları belirli komutlarla tetiklemek için alias ve bash script kullanabilirsin.

Örneğin, sudo reboot komutunu özelleştirmek için:

  1. Alias Tanımlama:Alias kullanarak komutları yeniden yönlendirebilirsin. Bunun için bash profil dosyanı düzenlemen gerekir (~/.bashrc ya da ~/.bash_profile).


    bash:
    alias reboot='echo -e "\033[33mGood-bye Dr. Brand. See you on the other side Coop.\033[0m"; sudo reboot'
  2. sudo Gerektiren Komutlar İçin:Eğer sudo gerektiren bir komutu sudosuz çalıştırmak istersen, bunu sudo komutunun yerini değiştiren bir bash script ile yapabilirsin.

    Örneğin /usr/local/bin/sudo adında bir dosya oluştur:

    yol:
    sudo nano /usr/local/bin/sudo


    içerik:
    #!/bin/bash
    
    if [ $(id -u) -ne 0 ]; then
        echo -e "\033[31mThere is a security lockout, sir, it requires a person to access function.\033[0m"
        exit 1
    fi
    
    /usr/bin/sudo "$@"


    Kayıt:
    sudo chmod +x /usr/local/bin/sudo

    3 Hooks ile Sistem Mesajlarını Özelleştirme
    Belirli sistem olaylarını yakalayarak mesaj vermek için bazı hook mekanizmalarından yararlanabilirsin. Örneğin, reboot veya shutdown komutlarının sonunda özel mesaj göstermek için /etc/rc.local gibi dosyalara script ekleyebilirsin. Ancak, bu yöntem biraz daha ileri düzey olabilir.

    Öğrenmen Gereken Kavramlar:
    • Bash scripting: Bash ile komutları özelleştirmeni sağlayacak temel beceriler.
    • Alias ve Functions: Terminal komutlarını özelleştirmen için temel yapı taşları.
    • ANSI Escape Codes: Terminalde renkli metinler göstermek için kullanılan kodlar.
    • Linux File Permissions: Yaratacağın script'lerin doğru çalışması için izin ayarlarını yönetmen gerekecek.


      Pyhtondan çok anlamam yapay zeka böyle bir şeyler söyledi belki işine yarar.
 

Forum istatistikleri

Konular
6,570
Mesajlar
111,580
Üyeler
2,693
Son üye
korfez

Son kaynaklar

Son profil mesajları

hakan8470 wrote on Dede's profile.
1717172721760.png
Dedecim bu gul mu karanfil mi? Gerci ne farkeder onu da anlamam. Gerci bunun anlamini da bilmem :gulus2:
Lyewor_ wrote on hakan8470's profile.
Takip edilmeye başlanmışım :D ❤️
Merhaba elektronik tutsakları...
Lyewor_ wrote on taydin's profile.
Merhabalar. Elektrik laboratuvarınız varsa bunun hakkında bir konunuz var mı acaba? Sizin laboratuvarınızı merak ettim de :)
Lyewor_ wrote on taydin's profile.
Merhabalar forumda yeniyim! Bir sorum olacaktı lcr meterler hakkında. Hem bobini ölçen hemde bobin direnci ölçen bir lcr meter var mı acaba?
Back
Top