Niedawno zadałem to pytanie dotyczące dodawania skryptu powłoki do Dasha:
W 14.04 jak uruchomić skrypt bash, który napisałem bez otwierania terminala?
Działa idealnie.
Dalsze pytanie: jak przekazać argumenty wiersza poleceń za pomocą Dash? Przykład: w tym przypadku moje polecenie kreski nosi nazwę „Panel”. Skrypt wyświetla mój ekran za pomocą 8 terminali. Oto przykład użycia:
panel # Tile the screen with 8 terminal windows.
panel --left # Tile the left side with 4 terminals
panel --right # Tile the right side with 4 terminals
I tak dalej. Jak mogę przekazywać argumenty takie jak Dash --left
lub --right
poprzez Dash? Idealnie chciałbym mieć ten przepływ pracy:
- Naciśnij klawisz SUPER
- Typ
panel --left
(na przykład) - Dash znika, a lewa strona jest obszyta panelami.
W tej chwili działa odpowiedni skrypt, ale ignoruje --left
.
Porady
scripts
unity-dash
Sir Robert
źródło
źródło
Odpowiedzi:
Problem polega na tym, że nie można „uruchomić”
.desktop
pliku z Dash z argumentami, więc obawiam się , że konfiguracja dokładnie taka, jaką masz na myśli, jest niemożliwa. Jednak zakładając, że skrypt nie przyjmują argumenty, istnieje kilka alternatywnych opcji eleganckie, może nawet lepiej:Zapisz swój skrypt w
~/bin
uruchom go, naciskając AltF2, wpisz polecenie
Utwórz szybką listę w programie uruchamiającym Unity:
(zakładając, że zapisałeś skrypt
~/bin
, uczyniłeś go wykonywalnym i usunąłeś rozszerzenie jak w 1.)Zapisz go jako
panel.desktop
w~/.local/share/applications
i przeciągnij go na wyrzutni.Utwórz trzy różne skróty klawiaturowe, na przykład Alt+ <, Alt+ ^, Alt+, >aby uruchomić skrypt + argumenty:
„Ustawienia systemowe”> „Klawiatura”> „Skróty”> „Skróty niestandardowe”
Kliknij „+”, aby dodać swoje polecenia:
<scriptname> <argument>
Nie jest to najbardziej oczywista, ale badając opcje, należy wspomnieć: możesz wywołać listę opcji (zenity) z Dash:
Wpisz pierwszy znak opcji, naciśnij klawisz Return, a skrypt uruchomi się z wybranym argumentem.
Ponownie zakładając, że zapisałeś skrypt w ~ / bin, sprawiłeś, że jest on wykonywalny i usunął rozszerzenie języka jak w 1:
Skopiuj poniższy skrypt do pustego pliku, zapisz go jako
panel_options.sh
, aby był wykonywalny.Utwórz plik .desktop z poniższego kodu. W
Icon=
linii ustaw ścieżkę do ikony wExec=
wierszu ścieżkę dopane_options.sh
, zapisz go jakopanel.desktop
w~/.local/share/applicatios
źródło
Z twojego pierwotnego pytania, wydaje się, że właściwą rzeczą byłoby przeniesienie skryptu
~/bin/
, który powinien być$PATH
domyślnie w twoim .Jeśli to zrobisz, będziesz mógł ponownie uruchomić skrypt AltF2. Będziesz mógł także przekazywać mu argumenty, tak jak robisz to w powłoce.
Możesz także dodać dowolny inny folder, w którym przechowujesz skrypty
$PATH
. Aby to zrobić, otwórz~/.profile
w wybranym edytorze tekstu:Na koniec dodaj wiersz (zastępując
<folder>
go folderem) i zapisz plik:Na przykład, dodaję
$HOME/.bin
do siebie,$PATH
aby moje pliki binarne nie zaśmiecały mojego folderu domowego, ale możesz dodać dowolny katalog do swojej ścieżki, po prostu pamiętaj, aby nie dodać niczego niebezpiecznego (np. Do zapisu na świecie).Zmiany wejdą w życie przy następnym logowaniu.
źródło