Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

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:

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
 

linux oprogramowanie programowanie

Komentarze

0 nowych
KoczurekK   10 #1 28.06.2017 22:39

Fajnym ficzerem byłby brak sypiących się programów. ;) Zwłaszcza, że Ubuntu przy każdym takim cudeńku robi okienko z powiadomieniem o błędzie.

~MacG   5 #2 29.06.2017 08:49

@KoczurekK: To raczej wina *buntu.

pawelllek   6 #3 29.06.2017 10:20

@KoczurekK: " Zwłaszcza, że Ubuntu przy każdym takim cudeńku robi okienko z powiadomieniem o błędzie."

Ja używam na co dzień Kubuntu i Ubuntu i naprawdę nie mam żadnych wyskakujących okienek o błędach. Często takie nieaktualne opinie rozpowszechniają osoby które tych systemów nie używają.

Autor edytował komentarz w dniu: 29.06.2017 10:20
KoczurekK   10 #4 29.06.2017 13:04

@pawelllek: A jednak nie, teraz wykminiłem że to działa tak tylko w przypadku procesów dodanych do autostartu itp. A systemu używam na co dzień, ba, właśnie z niego piszę. :P

Anyway, błędy z pamięcią są brzydkie i wypadałoby to połatać, backtrace wyskakujący w terminalu kiedy próbuje się coś tam sensownie zrobić z reguły przeszkadza.

nintyfan   12 #5 30.06.2017 16:06

@~MacG: W moim odczuciu, to nie można systemowi zarzucać, iż prosi użytkownika o przesłanie raportu o błędzie. To program powinien być odporny na błędy.

Gustaw76   2 #6 01.07.2017 08:38

Tytuł ciekawy treść trochę mniej. :P

nintyfan   12 #7 01.07.2017 10:17

@Gustaw76: Wszystko dlatego, że programy są nie dokończone.