Zmiana nazwy programu wyświetlanej w Konsole przy użyciu aliasu

1

Mam alias dla irssi: alias irssi="screen irssi. Kiedy uruchamiam irssi w Konsoli, nazwa zakładki pojawia się jako „screen”. Czy istnieje sposób, aby wyświetlać się jako „irssi”? Format mojej zakładki w Konsoli to:% D | % n

Również tutaj jest zdjęcie:

wprowadź opis zdjęcia tutaj

użytkownik164810
źródło
Ktoś opublikował działającą metodę, tworząc program w C, ale go usunął! Nie jestem też pewien, kto to opublikował.
user164810,

Odpowiedzi:

0

Prawdopodobnie jedynym sposobem na to jest stworzenie skryptu o nazwie, irssiktóry uruchamia screen irssi:

  1. Skopiuj oryginał irssido irssi.orig:

    sudo cp /usr/bin/irssi /usr/bin/irssi.orig
    
  2. Utwórz skrypt, o nazwie, irssiktóry uruchomi oryginał irssiw screen:

    sudo echo -e "#/bin/sh\nscreen /usr/bin/irssi.orig" > /usr/bin/irssi
    
  3. Spraw, by skrypt był wykonywalny

    sudo chmod a+x /usr/bin/irssi
    
  4. Usuń alias ze swojego .bashrc

Jeśli nie możesz / nie chcesz wprowadzać zmian w całym systemie, możesz zrobić to samo dla swojego użytkownika. Utwórz ~/bin/katalog, wykonaj te same kroki co powyżej i dodaj ten katalog do $PATH:

mkdir ~/bin
echo -e "#/bin/sh\nscreen /usr/bin/irssi" > ~/bin/irssi
chmod a+x ~/bin/irssi

Następnie usuń alias i dodaj ten wiersz do .bashrc:

PATH=~/bin:$PATH
terdon
źródło
Użycie skryptu powoduje zmianę nazwy programu na „bash”. Na przykład teraz moja karta mówi „/ usr / local / bin | bash”. Skrypt działa, ale po prostu nie czyta tego, czego chcę. Czy coś brakuje? : /
user164810
O. Nie, myślę, że coś mi brakuje. Najwyraźniej Konsole bierze nazwę od rzeczywistej nazwy procesu, a nie od nazwy wykonywanego polecenia. Przepraszamy, nie mam pojęcia, jak to obejść.
terdon
0

Dziwne rozwiązanie, ale może możesz użyć kompilatora skryptów powłoki, takiego jak shc, aby skompilować skrypt powłoki podobny do sugerowanego przez TerDona, aby był plikiem wykonywalnym?

Myślę, że wtedy pokaże poprawną nazwę.

ssmy
źródło