Jestem bardzo, bardzo nowy w skryptowaniu. Oto prosty skrypt (który działa), który napisałem, który wyświetla obraz po upływie 5 minut:
sleep 300 && firefox file:///home/tasks/fiveminutes.jpg
Oto moje pytanie: czasami nie pamiętam, czy uruchomiłem stoper. Czy istnieje sposób, aby dodać tekst lub ikonę (najlepiej na pasku zadań, ale gdziekolwiek byłoby świetnie), która pojawia się przez 5 minut (od momentu uruchomienia stopera do momentu jego zakończenia)?
Dziękuję bardzo za wszelkie sugestie.
Odpowiedzi:
Po wyświetleniu procesu możesz wyświetlić wyskakujące powiadomienie. Po prostu zmień skrypt na
Możesz ustawić czas trwania powiadomienia bąbelkowego za pomocą
-t
parametru (i czas w milisekundach) za pomocąnotify-send
polecenia, na przykład, aby ustawić czas trwania na 5 minutale ten parametr może zostać całkowicie zignorowany w zależności od środowiska pulpitu (zobacz to ).
źródło
Wystarczy mieć taki skrypt:
Jest to bardzo typowy sposób i często używany w skryptach powłoki. Działa to nieprzerwanie i co kwadrans sprawdza, czy skrypt działa
pgrep -f
.if..fi
instrukcje w skryptach powłoki działają na statusie wyjścia komend, więcpgrep -f
zwrócenie pomyślnego statusu wyjścia oznacza, że znalazł proces skryptu i działa. W przeciwnym razie przejdziemy do instrukcji else.W obu przypadkach drukujemy wiersz tekstu informujący użytkownika, czy jest uruchomiony, czy nie. Dodano również
printf "\r%b" "\033[2K"
drukowanie sekwencji ucieczki w celu wyczyszczenia linii (tylko w celu uzyskania czystszego wyniku).Stamtąd niebo jest granicą. Możesz przekazać ten tekst do innego procesu w terminalu za pomocą potoku lub przekazać dane wyjściowe ze skryptu monitorowania do wskaźnika-sysmonitor , który umożliwia wyświetlanie niestandardowych informacji we wskaźniku. Można go zainstalować za pośrednictwem
Następnie wystarczy skonfigurować wskaźnik, aby wyświetlał niestandardowe polecenie, które byłoby skryptem monitorowania. Przykład konfiguracji niestandardowego polecenia można znaleźć tutaj .
Oczywiście można napisać własny wskaźnik w Pythonie, ale może to być po prostu przesada, jeśli jest już na to narzędzie.
źródło
indicator-sysmonitor
brzmi użytecznie, powinienem spróbować.Oto program uruchamiający Python, oparty na tej odpowiedzi i dodatkowych badaniach w Internecie, który działa dobrze w Ubuntu 16.04:
Utwórz plik wykonywalny i umieść powyższe wiersze jako jego zawartość. Załóżmy, że plik się nazywa
script-indicator.py
. W zależności od potrzeb i charakteru skryptu możesz użyć tego programu uruchamiającego na jeden z następujących sposobów:script.sh
jest ten, który chcesz wskazać.Zrzut ekranu wykonany tuż po
script.sh
zakończeniu:Alternatywnie możesz umieścić skrypt,
/usr/local/bin
aby był dostępny jako system poleceń powłoki w całym systemie. Możesz pobrać go z tego dedykowanego GitHub Gist:Przetestowałem to przy użyciu następującej składni:
źródło
Z
osd_cat
Możesz użyć
osd_cat
zxosd-bin
pakietu, np .:To wyświetla „przebiegi” z czcionkami
100
przez5
kilka sekund w pozycji20,50
na ekranie i rozpoczyna się,firefox
gdy jest gotowy - nie potrzebujeszsleep
tego podejścia. Możesz użyć,xfontsel
aby uzyskać X logiczny deskryptor czcionki (to dziwne-*-*-…
) dla-f
opcji, np. Jeśli chcesz użyć innej czcionki. Czytajman osd_cat
więcej opcji.Z
yad
Możesz użyć
yad
w następujący sposób:Ma to tę zaletę, że możesz przerwać polecenie lub wykonać je natychmiast, jeśli nic nie zrobisz, zamknie się ono po
5
kilku sekundach w tym przykładzie.źródło
yad
okno można zminimalizować, tekst osd nie.Możesz wziąć ten już działający skrypt
multi-timer
i rozebrać go w celu uzyskania ogólnego timera odliczającego:Wykorzystuje to samo, co
indicator-sysmonitor
opisano w odpowiedzi Serge'a.Część Systray
Brightness: 2344
jest również wyświetlana przez ten sam skrypt.Jeśli usunięcie niepotrzebnych fragmentów kodu bash jest zbyt trudne dla nowych użytkowników, chętnie opublikuję tutaj skrypt o nazwie
show-sleep
wymaganej ograniczonej funkcjonalności. Po prostu opublikuj komentarz poniżej.źródło