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

Sokisati

Üye
Katılım
24 Şubat 2024
Mesajlar
39
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:
Kod:
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).


    Kod:
    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:

    Kod:
    sudo nano /usr/local/bin/sudo


    Kod:
    #!/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 "$@"


    Kod:
    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
7,285
Mesajlar
123,128
Üyeler
2,938
Son üye
oguzbaste

Son kaynaklar

Son profil mesajları

Freemont2.0 herbokolog Freemont2.0 wrote on herbokolog's profile.
nick iniz yakıyor
:D
Freemont2.0 posta Freemont2.0 wrote on posta's profile.
Merhabalar :)
az bilgili çok meraklı
Prooffy semih_s Prooffy wrote on semih_s's profile.
Merhaba, sizden DSO2C10 hakkında bilgi rica ettim. Yanıtlarsanız sevinirim...
Unal taydin Unal wrote on taydin's profile.
Timur Bey, Arduino kontrollü bir akü şarj cihazı yapmaya çalışıyorum. Aklımdaki fikri basit bir çizim olarak konu açmıştım. Özellikle sizin fikirlerinizi çok önemsiyorum.
Back
Top