Co się stanie, jeśli korzystam z Gnome 3 i nie mam „aplikacji startowych” i chcę zamiast tego umieścić go w pliku .desktop? Co bym wstawił dla wiersza „Exec =”?
Dzięki! Używam tego również w Dropbox i Synergy. Działa świetnie!
guttermonk,
Skrypt działa doskonale, gdy uruchamiam go ręcznie, ale dodałem /bin/bash ~/process_monitor.sh dockydo aplikacji startowych, ale nic się nie dzieje. Właściwie widzę pół okna terminala migającego na ekranie przez sekundę po zalogowaniu, ale to wszystko. Skrypt nie uruchamia się, nawet jeśli dodałem to polecenie do aplikacji startowych. Co powinienem zrobić?
Revetahw mówi: Przywróć Monikę
@guttermonk Czy możesz zaoferować pomoc w moim zapytaniu w powyższym komentarzu? Opublikowałem to jako osobne pytanie również: askubuntu.com/questions/751465/…
Revetahw mówi: Przywróć Monikę
1
Jest to podobne do metody monitorowania procesu, wykorzystującej pętlę till, ale tylko dla samego doku.
Prosty skrypt:
until docky; do
sleep 1
done
Następnie usuń docky z aplikacji startowych i po prostu dodaj sh [ścieżkę do pliku], na przykład:
Napisałem mały skrypt „otoki” poniżej. Odrodzi się dokujący i monitoruje go. Odradzaj to sam bez dokowania w aplikacjach startowych.
#!/usr/bin/env bash
#
###########################################################
# Author: Serg Kolo , contact: [email protected]
# Date: March 31st, 2016
# Purpose: monitor script that respawns docky if it dies
# Written for: http://askubuntu.com/q/752478/295286
# Tested on: Ubuntu 14.04 LTS
###########################################################
# Copyright: Serg Kolo , 2016
#
# Permission to use, copy, modify, and distribute this software is hereby granted
# without fee, provided that the copyright notice above and this permission statement
# appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
# DEALINGS IN THE SOFTWARE.
ARGV0="$0"
ARGC=$#
monitor_pid ()
{
if ps -p $1 > /dev/null ;
then
# Docky is there, no-op
sleep 0.25
continue
else
# Docky is gone,ask user if they want it back
DOCKY_PID=$(ask_restart)
fi
}
spawn_docky()
{
docky &> /dev/null &
echo $! # return docky pid
}
ask_restart ()
{
zenity --question --title="Docky Monitor"\
--text="Docky has quit, do you want to restart it ?" > /dev/null
if [ $? -eq 0 ] ;then
spawn_docky
else
kill -SIGTERM $MYPID # exit the script
fi
}
main()
{
local MYPID=$$
local DOCKY_PID=$(spawn_docky)
while true;
do
monitor_pid $DOCKY_PID
done
}
main
Ale tylko jeśli używam terminala lub yakuake ... więc mogę po prostu otworzyć nową powłokę, gdy używam „~ / process_monitor.sh docky” lub „/ bin / bash ~ / process_monitor.sh docky”
Ale jeśli przejdę do „aplikacji startowych”, kliknij dodaj i postępuj zgodnie z tymi instrukcjami, nic się nie dzieje, gdy mój komputer się uruchamia. Nadal muszę uruchomić to polecenie ręcznie. I zadziałało, gdy wstawiłem także dok /home/"username"/process_monitor.sh.
Znalazłem lub stworzyłem rozwiązanie (które nie zostało gdzieś opublikowane), aby uruchomić je automatycznie.
Zamiast używać dokowanego pliku ~ / process_monitor.sh utwórz nowy plik tekstowy:
gedit ~ / start.sh
wpisz następujące
#! / bin / bash
~ / process_monitor.sh docky
gotowy
Zapisz plik
Ustaw uprawnienia:
chmod a + x ~ / start.sh
Teraz możesz uruchomić program na swoim terminalu / yakuake lub cokolwiek, czego wolisz:
~ / start.sh
i uruchomi dokowanie ~ / process_monitor.sh. Więc uruchomi się i uruchomi ponownie, jeśli ulegnie awarii.
Możesz wybrać dowolną nazwę dla „process_monitor.sh” i „start.sh” tylko .sh jest ważne. Ale pamiętaj, aby to zmienić również w plikach tekstowych.
Teraz przejdź do Dash, wpisz i otwórz „Aplikacje startowe”.
Usuń inne ustawienia Docky Startup
Utwórz nowy
Nazwa: Docky lub jakkolwiek chcesz go nazwać
Polecenie: / home / „twoja nazwa użytkownika” /start.sh (dla mnie np. /Home/kevin/startup.sh)
Komentarz: Cokolwiek lubisz.
Przejdź do ustawień Docky i wyłącz „Rozpocznij przy logowaniu”
Teraz możesz ponownie uruchomić komputer i przetestować go.
Odpowiedzi:
Po pierwsze, nie używam doków. Ale zakładam, że docky jest w twojej $ PATH. Jeśli nie, podaj pełną ścieżkę do pliku binarnego.
Oto niesamowite wykorzystanie Bash:
Zacznij od pliku, takiego jak (vim zamiast gedit, jeśli chcesz):
gedit ~/process_monitor.sh
Wpisz następujące polecenie:
Zapisz plik.
Ustaw uprawnienie:
Teraz możesz uruchomić taki program:
i raz uruchomi program, i upewnij się, że uruchomisz go ponownie, jeśli kiedykolwiek zechcesz go zamknąć lub zawiesi się.
Aby dodać wpis do uruchamiania systemu, aby uruchamiał program po zalogowaniu i nie zatrzyma się, dopóki nie wyjdziesz, wykonaj następujące czynności:
/bin/bash ~/process_monitor.sh docky
Upewnij się, że nowy wpis jest zaznaczony. Wyloguj się ponownie i zaloguj, a będziesz cały czas widoczny.
źródło
/bin/bash ~/process_monitor.sh docky
do aplikacji startowych, ale nic się nie dzieje. Właściwie widzę pół okna terminala migającego na ekranie przez sekundę po zalogowaniu, ale to wszystko. Skrypt nie uruchamia się, nawet jeśli dodałem to polecenie do aplikacji startowych. Co powinienem zrobić?Jest to podobne do metody monitorowania procesu, wykorzystującej pętlę till, ale tylko dla samego doku.
Prosty skrypt:
Następnie usuń docky z aplikacji startowych i po prostu dodaj sh [ścieżkę do pliku], na przykład:
sh /usr/wegsehen/Scripts/docky.sh
źródło
Napisałem mały skrypt „otoki” poniżej. Odrodzi się dokujący i monitoruje go. Odradzaj to sam bez dokowania w aplikacjach startowych.
źródło
Plik ./process_monitor.sh działa świetnie.
Ale tylko jeśli używam terminala lub yakuake ... więc mogę po prostu otworzyć nową powłokę, gdy używam „~ / process_monitor.sh docky” lub „/ bin / bash ~ / process_monitor.sh docky”
Ale jeśli przejdę do „aplikacji startowych”, kliknij dodaj i postępuj zgodnie z tymi instrukcjami, nic się nie dzieje, gdy mój komputer się uruchamia. Nadal muszę uruchomić to polecenie ręcznie. I zadziałało, gdy wstawiłem także dok /home/"username"/process_monitor.sh.
Znalazłem lub stworzyłem rozwiązanie (które nie zostało gdzieś opublikowane), aby uruchomić je automatycznie.
Zamiast używać dokowanego pliku ~ / process_monitor.sh utwórz nowy plik tekstowy:
Teraz możesz uruchomić program na swoim terminalu / yakuake lub cokolwiek, czego wolisz:
i uruchomi dokowanie ~ / process_monitor.sh. Więc uruchomi się i uruchomi ponownie, jeśli ulegnie awarii.
Możesz wybrać dowolną nazwę dla „process_monitor.sh” i „start.sh” tylko .sh jest ważne. Ale pamiętaj, aby to zmienić również w plikach tekstowych.
Teraz przejdź do Dash, wpisz i otwórz „Aplikacje startowe”.
Teraz możesz ponownie uruchomić komputer i przetestować go.
Film instruktażowy
źródło
process_monitor.sh
? Nie wymaga edycji pliku ani zmian uprawnień.ln -s process_monitor.sh start.sh
orln -s ~/process_monitor.sh ~/Desktop/