Tags Posts tagged with "pdmenu"

pdmenu

przez -
3 2389
Konsola

Praca w czystej powłoce dla początkujących użytkowników Linuksa może być trudna i skomplikowana. Jako administratorzy systemu możemy przygotować dla użytkowników specjalne menu, po którym będą się oni poruszać. W prostym i przejrzystym menu udostępnimy im zestaw poleceń, do których będą mieli dostęp. Aplikacja, która to umożliwi to pdmenu. Autorem aplikacji jest Joey Hess.

Pdmenu jest pełnoekranową aplikacją dla systemów Unix oraz Linux. Pozwala ona na użycie wybranych komend systemu, wybierając jest z dostępnego menu. Obsługuje ona kolory oraz kursor myszki.

pdmenu

Domyślnie zainstalowany lub skompilowany program zawiera wstępnie przygotowane menu znajduje się w pliku /usr/local/etc/pdmenurc. Dla każdego użytkownika można przygotować osobne menu. Konfiguracja przechowywana jest wtedy w pliku ~/.pdmenurc. Przykładowy plik konfiguracyjny wygląda następująco:

[bash]#Set a pleasing color scheme.
color:desktop:blue:blue
color:title:blue:white
color:base:blue:white

#this is a comment
menu:main:Main Menu:Things to do at foobar
show:_Games..::games
exec:_Mail::pine
exec:_News::slrn -C
exec:_WWW::lynx
exec:_Irc::irc
exec:_Directory _Listing:display:ls -l
exec:_Who’s online?:truncate:w
exec:_Finger:edit,truncate:finger ~finger who?:~
nop
exit:E_xit

menu:games:Games:Some text-based games
exec:_Tetris for Terminals::/usr/games/tt
exec:_Adventure:pause:/usr/games/adventure
exec:_Zork:pause:/usr/games/zork
nop
exit:_Back to main menu.[/bash]

Szczegółowe informacje na temat konfiguracji dostępne są w manualach pdmenu oraz pdmenurc.

Budujemy własne menu

Na początku definiujemy sobie kolory w jakich będzie wyświetlane menu. Nie są to obowiązkowe opcje, ale upiększają aplikację. Odpowiada za to opcja: color:screenpart:foreground[:background]. Pozwala ona na ustawienie kolorów różnych części menu.

[bash]# Definicja kolorów
color:desktop:blue:blue
color:title:blue:white
color:base:blue:white[/bash]

Kolejnym krokiem jest zdefiniowanie głównego menu całego programu. Posłuży do tego opcja menu:menuid:title[:helptext]. Przykładowe użycie:

[bash]# Główe Menu
menu:main:Główne Menu:thecamels.org # Główne menu z nazwą i opisem
show:_Informacje::info # Wyświetla podmenu info
show:_Komunikacja::kom
show:_Serwery::serwery
show:_Administracja::admin
nop
exit:_Wyjście[/bash]

Znak _ przez literą oznacza skrót klawiszowy jaki można wykorzystać do wejścia w menu. Polecenie show wyświetli nam kolejne podmenu pod konkretną nazwą. Takie podmenu definiujemy podobnie jak główne:

[bash]menu:info:Informacje:Pokazuje informacje o systemie i użytkownikach # Podmenu info
exec:_Zalogowani użytkownicy:truncate:w # Uruchamia polecenie w a jego wynik wyświetla w pdmenu
exec:_O użytkowniku:edit,truncate:finger ~Podaj login:~ # Uruchamia polecenie finger z parametrem podanym przez użytkownika
exec:_Uptime:display:uptime
exec:O _systemie:display:uname -a
exec:Procesy::top s
nop
exit:_Powrót[/bash]

W kolejnym podmenu dodaliśmy już polecenie exec. Pozwoli ono na wykonanie komendy zdefiniowanej przez użytkownika lub administratora. Dzięki opcji edit możliwe jest przekazanie parametrów do polecenia. Po zakończeniu polecenia, użytkownik wraca ponownie do pdmenu.

Polecenie exec może przyjąć kilka parametrów np. w jaki sposób wyświetlić wynik polecenia. Dla poleceń, które od razu wyświetlają kilka linii na standardowe wyjście po czym kończą swoje działanie możemy użyć opcji display albo truncate. Ta druga nie powoduje zawijania wierszy w przypadku długiego wyniku polecenia.

Nie należy stosować tych opcji do uruchamiania poleceń, które działają ciągle jak np. top czy inne aplikacje.

Tak przygotowana aplikacja może posłużyć za domyślną powłokę dla dowolnego użytkownika. Po wyjściu z pdmenu, użytkownik zostaje wylogowany z serwera w takim przypadku.

Przykładowy plik pdmenurc użyty w tym artykule.

Polecane

linux magazine

0 261
Narzędzia do tworzenia grafiki wektorowej, takie jak Inkscape, pozwalają szybko tworzyć obrazy nie tracące na jakości nawet przy dużym powiększeniu. Czy narzędzia...