Program uruchamiający skrypt powłoki Ubuntu dla wielu elementów


0

Ok każdego dnia przechodzę przez tę samą rutynę i jest to żmudnie denerwujące. Więc wpadłem na pomysł i zastanawiałem się, czy to możliwe. To, co chcę zrobić, to otworzyć może 3-5 okien terminala, aw każdym z nich po otwarciu należy wykonać określone polecenie lub uruchomić określony skrypt powłoki. Z tym moim pytaniem byłoby, czy to w ogóle możliwe i jak mam to zrobić? lub gdzie chciałbym spróbować dowiedzieć się, co chcę zrobić?

Zasadniczo chcę stworzyć jakiś skrót w kwestii, że wszystko, co muszę zrobić, to kliknąć coś, co umieszczam na pulpicie Ubuntu, i otworzyć to x terminale i zrobić to, co muszę zrobić na początku, aby uzyskać wszystko rzeczy, których potrzebowałem, zaczęły się, zamiast robić wszystko ręcznie. Coś, co codziennie goli o około 30 minut dziennie. Nie znam środowiska Linuksa, aby coś takiego wymyślić. Muszę tylko uruchomić wszystko, czego potrzebuję, uruchomić przed rozpoczęciem regularnej pracy.


Z jakiego środowiska pulpitu korzystasz? Gnome, Unity, KDE, LXDE, XFCE?
Arcege

Odpowiedzi:


2

To nie jest takie trudne. Najpierw musisz wiedzieć, co chcesz uruchomić, powiedzmy pięć instancji terminalu gnome, a następnie skonfiguruj go w systemie okienkowym, aby miał ikonę do kliknięcia, aby uruchomić program.

$ mkdir -p ~/bin  # create a directory to store your programs
$ cat <<'EOF' > ~/bin/terminalstartup.sh
#!/bin/sh
# start five terminal sessions in the background and exit
gnome-terminal -t "Terminal 1" -e top &    # terminal running process monitor
gnome-terminal -t "Terminal 2" -e irssi &  # terminal running IRC client
gnome-terminal -t "Terminal 3" &           # terminal running just a shell
gnome-terminal -t "Terminal 4" -e mutt &   # terminal running email client
gnome-terminal -t "Terminal 5" &           # terminal running another shell
exit 0
EOF
$ chmod a+x ~/bin/terminalstartup.sh  # make it executable

Następnie musimy stworzyć coś, z czego będzie korzystać środowisko pulpitu:

$ mkdir -p ~/Desktop # should already exist
$ cat <<'EOF' > ~/Desktop/TermStart.desktop

[Desktop Entry]
Version=1.0
Type=Application
Name=TerminalStartup
Comment=Start my terminals
Exec=/home/USERNAME/bin/terminalstartup.sh
Terminal=false
StartupNotify=false
EOF

Jeśli wszystko pójdzie „dobrze”, możesz zobaczyć nową ikonę na tle pulpitu (zależy od tego, jakie ustawienia środowiska pulpitu są ustawione). Dwukrotne kliknięcie spowoduje uruchomienie terminali. Nie zapomnij zastąpić „USERNAME” własną nazwą użytkownika.

To jest bardzo prosty przykład, ale nie powiedziałeś nic więcej niż „uruchom pięć terminali za pomocą niektórych poleceń”. Wszystko to odbywa się za pomocą a) skryptów powłoki (przeczytaj stronę podręcznika dla bash lub dash), oraz b) Pliki wpisów na pulpicie (więcej informacji można znaleźć na stronie http://www.ubuntuvibes.com/2011/12/easily-edit-and- create-custom-launchers.html ).


Po pierwsze, dziękuję, próbowałem zrobić coś prostszego wczoraj po kilku godzinach prób i błędów za pomocą metod znalezionych podczas wyszukiwania. To wygląda na dobry punkt wyjścia dla mnie. Obecnie potrzebuję 3 terminali. Z których muszę otworzyć i uruchomić polecenie, jak pokazano powyżej. Ale potrzebuję ich, aby pozostali również otwarci. Przykładem jednego z nich jest uruchomienie serwera szynowego w trybie do wyświetlania w oknie terminala, dzięki czemu mogę zobaczyć, co się dzieje, aby upewnić się, że wszystkie procesy BG są uruchomione, gdy działa strona internetowa. Czy istnieje sposób, aby zapobiec zamknięciu terminali?
Chris

Istnieją sposoby na ponowne uruchomienie programu, jeśli zakończy się, lub po prostu poczekanie na dane wejściowe użytkownika. Ale nie jestem pewien, czy tego właśnie chcesz. Zajrzałeś też screen? Może otwierać dowolną liczbę powłok / programów, ale używa jednego okna terminala, więc oszczędzasz okno nieruchomości. Zaczynam ekran od kilku muszli, u góry, interaktywnego pytona. Następnie użyj klawiszy skrótu, aby przełączać się między i / lub pomiędzy wieloma regionami.
Arcege
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.