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.
 

Çevrimiçi üyeler

Forum istatistikleri

Konular
7,581
Mesajlar
126,787
Üyeler
3,070
Son üye
Fuat

Son kaynaklar

Son profil mesajları

Python Geliştirmeye eklediğim yapay zeka sunucusu, yeni başlayanlar için roket etkisi
Bir insanın zeka seviyesinin en kolay tesbiti, sorduğu sorulardır.
yapay zeka interneti yedi bitirdi, arama motoru kullanan, forumlara yazan kaldı mı ?
Freemont2.0 herbokolog Freemont2.0 wrote on herbokolog's profile.
nick iniz yakıyor
:D
az bilgili çok meraklı
Back
Top