Blog (76)
Komentarze (5.6k)
Recenzje (0)
@nintyfanTworzymy własne przewodniki (wizardy)

Tworzymy własne przewodniki (wizardy)

W systemach GNU/Linux jest moc niewykorzystanych narzędzi konsolowych. Dochodzi do tego, że narzędzia GUI są często nakładką na narzędzia konsolowe. Dzieje się tak z powodu obrania drogi na skróty przez autorów tych narzędzi GUI, bo zamiast uczyć się nowych rzeczy i powielając już istniejące rzeczy, odwołują się jedynie do poznanej wiedzy o jakimś programie konsolowym. Jednak, to moim zdaniem, wciąż za dużo, by przeciętny zjadacz chleba mógł sobie pozwolić na tworzenie własnych przewodników. A są one potrzebne, gdyż nie każdy chce korzystać z emulatora terminala.

Początki drogi do oświetlenia ścieżki początkującym

Pierwszym narzędziem, które miało służyć do ochrony systemu użytkownika, a także do łatwego korzystania z pomocy na forach internetowych był partnership. Ten mały program miał działać w podobny sposób do explain shell, który wtedy jeszcze nie istniał. Mianowice, ktoś na forum publikuje skrypt programu partner, partner tłumaczy go do postaci zrozumiałej przez simpleshell (interpretera poleceń okrojonego, by być maksymalnie bezpiecznym), lecz przed uruchomieniem simpleshell, wyświetlał listę poleceń do wykonania przez simpleshell, listę plików otwieranych lub modyfikowanych, opis każdego polecenia i pliku. W momencie, gdy partnership nie miał definicji czegoś, to korzystał z linuksowego manuala. Simpleshell był częścią partnership.

Prace nad partnership porzuciłem ze względu na to, iż każdy twierdził, że niemożliwe jest zrealizowanie moich wizji. Było to na długo przed powstaniem explain shell.

Nowe narzędzia

Natomiast  ostatnio zająłem się tworzeniem narzędzi do generowania graficznych przewodników. Oczywiście - nie trzeba w tym generować przewodników, bo jeżeli osoba zainteresowana chce, to może stworzyć program, który wyświetla więcej niż jedno okno jednocześnie. Działanie nowych narzędzi przedstawiam poniżej: [youtube=https://youtu.be/yew8WUTVYEk]

Do narzędzi wchodzą:

  • Service builder tool - narzędzie do generowania naszych przewodników
  • Service builder - interpreter tego, co powyższy wypluje

W ostateczności postanowiłem, że miło jest zatroszczyć się również o bezpieczeństwo użytkowników, dodając do tego partnership.

Jako zależności, potrzebne jest:

  • libgreattao
  • libsell - jest zależnością libgreattao
  • partnership
  • PolicyKit - jest dostarczane przez co najmniej większość współczesnych dystrybucji GNU/Linux

W filmiku dołączonym do wpisu pokazuję, jak stworzyć prostego przewodnika, co pozwala ustawić wyłączanie komputera o określonej godzinie, a także posługiwanie się wynikiem naszej pracy. Oczywiście, że wciąż trzeba pamiętać, iż do wyłączenia systemu służy /sbin/shutdown (koniecznie /sbin/shutdown, gdyż jakiegolwiek kropki na początku ścieżki czy zaraz po znaku / są zakazane). Działanie przewodnika jest proste: użytkownik wpisuje np.  15:50, zatwierdza, czyta, co partnership chce zrobić, po czym klika run i wpisuje hasło superużytkownika.

Rzeczy do zrobienia

Jest jeszcze sporo rzeczy do zrobienia, dlatego chętnie przyjmę łatki. Sam muszę jednak się przygotowywać do egzaminów, więc przysiądę do pracy dopiero za dwa tygodnie.

Rzeczy do zrobienia:

  • Dodanie obsługi nowych typów zmiennych, jak liczba całkowita, liczba dodatnia, itd/
  • Dodanie obsługi zmiennych niezależnych od wprowadzonych przez użytkownika danych
  • Dodanie obsługi instrukcji warunkowych (tak, dobrze czytasz; obecnie partnership obsługuje instrukcje warunkowe, ale to nie wystarcza) i pętli
  • I wiele, wiele więcej
Wybrane dla Ciebie
Komentarze (7)