Ubuntu / Unity dołącza skrypt do Launchera


13

Niedawno pobrałem IntelliJ IDEA i uruchomiłem aplikację, uruchamiając . idea.sh. Aplikacja pojawia się w programie uruchamiającym podczas jej uruchamiania, ale z jakiegoś powodu po kliknięciu jej prawym przyciskiem myszy nie pojawia się opcja „Zablokuj program uruchamiający”, podobnie jak w przypadku innych aplikacji.

Jak dołączyć go do programu uruchamiającego?

Czy to dlatego, że uruchamiam skrypt, a nie plik wykonywalny bezpośrednio, który wyłącza tę opcję?

Odpowiedzi:


16

Wygląda na to, że możesz to zrobić na 2 sposoby.

Metoda nr 1: ręcznie utwórz plik .desktop

Tak, musisz utworzyć niestandardowy program uruchamiający .desktop. Oto ogólne kroki:

  1. Utwórz plik * .desktop w /usr/local/share/applications(lub w /usr/share/applicationszależności od systemu).

    $ gksudo gedit <insert-path-to-new-file.desktop>
    
  2. Wklej poniżej tekstu

    [Desktop Entry]
    Type=Application
    Terminal=false
    Name=IntelliJ IDEA
    Icon=/path/to/icon/icon.svg
    Exec=/path/to/file/idea.sh
    

    Edycja Icon=i Exec=i Name=. Terminal=True/falseOkreśla również pogodę, terminal otwiera okno i wyświetla dane wyjściowe lub działa w tle.

  3. Umieść plik .desktop w panelu Unity Launcher. W tym kroku musisz nawigować w przeglądarce plików do miejsca, w którym utworzono plik .desktop w poprzednich krokach. Po zlokalizowaniu pliku przeciągnij go do paska Unity Launcher z boku. Po wykonaniu tej czynności może być konieczne uruchomienie następującego polecenia, aby system rozpoznał nowo dodany plik .desktop.

    $ sudo update-desktop-database
    

Metoda nr 2: Metoda GUI

Zamiast ręcznie tworzyć plik .desktop, możesz przywołać GUI, aby pomóc w tym.

  1. zainstaluj gnome-panel

    $ sudo apt-get install --no-install-recommends gnome-panel
    
  2. uruchom generator GUI .desktop

    $ gnome-desktop-item-edit ~/Desktop/ --create-new
    

                      ss edytora

Bibliografia


sudo update-desktop-databaspowinno byćsudo update-desktop-database
Trindaz

Ponadto $ sudo ...nie powinno tam być ostatniego wiersza metody nr 1 ( ). Po pewnym zgadywaniu odkryłem, że „Umieść to w panelu jedności” = Otwórz przeglądarkę plików i znajdź plik utworzony w kroku 1, a następnie przeciągnij go do „Launchera”. „Panel” wydaje się być niejednoznacznym określeniem w Unity w zależności od tego, z kim rozmawiasz.
Trindaz

@Trindaz - tak, przepraszam za brak szczegółów Nie byłem pewien, jak dokładnie zrobić ten krok, patrząc na inny samouczek, w którym ten sam krok był równie niejasny. Dodam szczegóły, jak opisano w tym kroku. LMK, jeśli wyglądają OK.
slm

To działało dla mnie 18.04, ale próbowałem 19.04, a plik konfiguracyjny otwiera się jako plik tekstowy! Co za ból.
Quaternion

Cytując @MDMower z ich komentarza ( unix.stackexchange.com/questions/170823/... ): Alternatywnie, jeśli ta aplikacja jest zainstalowana tylko dla bieżącego użytkownika, bardziej odpowiednie byłoby umieszczenie .desktoppliku~/.local/share/applications
John Freeman

1

W moim przypadku użyteczne jest uruchomienie skryptu powłoki z programu uruchamiającego i utrzymanie otwartego okna powłoki .

metoda

  • Ten przykład jest z mate-terminal, użyj, gnome-terminaljeśli jest to ten w twoim systemie.
  • Ten przykład dotyczy skryptu powłoki php cli. Aby uzyskać pomysł, można przekazać tutaj dowolne polecenie.
  • W -htym przypadku do skryptu przekazywany jest jeden parametr .
  • Dodanie ; bashutrzymuje otwarte okno powłoki po zakończeniu skryptu, na przykład:

    mate-terminal --execute bash -c "php /home/lilith/Desktop/moon/MOON/moon -h ; bash"
    

Dodatkowe odmiany

Aby okno pozostało otwarte, z ustawioną ścieżką w katalogu skryptu, użyj cdprzed komendą a. Na przykład:

mate-terminal --execute bash -c "cd /home/lilith/Desktop/moon/MOON/ && php moon -h ; bash" 

Umożliwia to uruchomienie niektórych dodatkowych poleceń bez konieczności pozostawania w bieżącym katalogu roboczym.

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.