Alkalmazás indító készítése az Asztal-ra (Cinnamon)

kimarite képe

Hogyan készíts indítót az „Asztal”-ra?

Én leginkább a „Menü”-ből vagy a „Panel”-ről indítom az alkalmazásokat -tekintve a Windows inkább rossz, mint jó emlékének a mindenféle cuccal teli „Asztal” látványát- de most megmutatom, hogyan tudsz az „Asztal”-ra alkalmazás indítót készíteni, látható alkalmazás ikonnal és természetesen működőképesen. Mindezt Cinnamon asztali környezet alatt és a Mozilla Firefox hordozható változatát használva a példában. Utóbbi témáról itt olvashatsz:
https://linuxmint.hu/blog/2018/07/a-firefox-bongeszo-hordozhato-verziojanak-hasznalata
A „Panel” alkalmazás indító elkészítéséről (a MATE asztali környezetet használva) itt olvashatsz:
https://linuxmint.hu/blog/2017/07/a-webes-telegram-alkalmazas-hasznalata-es-inditojanak-elkeszitese-mate

Először is tudnod kell, hogy mi az indító alapjául szolgáló alkalmazás futtatható (bináris) indító fájlja, az hol helyezkedik el, pontosabban ennek a fájlnak a elérési útját szükséges tudni. No, és a indító látható ikonjának elérési útjának ismerete sem árt a sikerhez. A leírásból mindkét dolog kiderül.

Az indító elkészítéséhez a Cinnamon eleve lehetőséget kínál:

-- kattins valahova az „Asztal”-on, nyomd meg az egér jobb gombját, és válaszd ki az „Indító létrehozása...” lehetőséget

-- nocsak, egy csinos indító-készítő! Az ablak bal oldalán a következőket látod:
     -- Name = az alkalmazás neve
     -- Command = indító parancs (az említett elérési út szerint)
     -- Comment = kommentár, azaz megjegyzés
     ...és egy rakétát is látsz = hamarosan kiderül, mi az, fő a nyugalom.

-- a „Name” jellemzőhöz begépeled az alkalmazás nevét, és ... egyéb jellemzőit

-- nyomd meg a „Browse” rádiógombot, hogy betallózd a futtatható fájlt, azaz a tulajdonképpeni indítót

-- az indító (a futtatható fájl) jelen esetben itt található,
(a fentebb linkelt Mozilla Firefox leírásban olvashatsz erről)

... válaszd ki a futtatható fájlt (a példában firefox), majd nyomd meg az „OK” rádiógombot a választás érvényesítéséhez.

-- ekkor ezt látod a „Command” jellemzőnél:
(látszik az elérési út, és a szóközök Linux alatt jellemző jelzése is)

-- a „Comment” jellemzőnél valami olyasmit gépelj be, ami jellemző az alkalmazásra ...

-- a látható ikon kiválasztása. Nyomd meg a „rejtélyes” rakéta ikont,

... amely ezen az elérési úton található,

... válaszd ki a 48*48 pixel méretű ikont, majd nyomd meg az „OK” rádiógombot a választás érvényesítéséhez.

-- ekkor az ikon már látható. Készen vagy. Nyomd meg az „OK” rádiógombot az indító elkészítéséhez

... még egy kis kitérő. Felveheted az indítót a „Menü”-be is. Ha ezt szeretnéd, akkor nyomd meg az „Igen” rádiógombot. A párbeszéd ablak közli, hogy az indító az „Other/Egyéb” almenübe, kategóriába kerül. Tehát nem az „Internet” kategóriába, mint a telepített Firefox.

-- a korábban begépelt „Comment” így néz ki,
(ha az indító fölé viszed az egérmutatót)

... a „Menü”-ben pedig így:
(itt további lehetőségeid vannak. Szuper!)

-- az indító ezen az elérési úton található: /home/$USER/.local/share/applications/
(a képen egy korábbi, félresikerült indítót helyezek át a „Kuka”-ba)

 Az indító (nem meglepő módon) egy szövegfájl. Tartalma:

[Desktop Entry]
Name=Firefox - Mozilla (stabil kiadás, hordozható)
Exec=/home/kim/.mozilla/firefox_mozilla,\\ portable,\\ stable/firefox
Comment=Firefox - Mozilla stabil kiadás. Hordozható, azaz portable, nem telepített. A Súgó menüből frissíthető.
Terminal=false
Icon=/home/kim/.mozilla/firefox_mozilla, portable, stable/browser/chrome/icons/default/default48.png
Type=Application

Semmi sem gátolhat meg abban, hogy más kategóriába sorold. Korábban „Other” volt, de az „Internet” kategória jobb lenne. A szerkesztés után az indító így néz ki:
(a szerkesztett, elkészített sorok ismerősek lehetnek)

[Desktop Entry]
Name=Firefox - Mozilla (stabil kiadás, hordozható)
Exec=/home/kim/.mozilla/firefox_mozilla,\\ portable,\\ stable/firefox
Comment=Firefox - Mozilla stabil kiadás. Hordozható, azaz portable, nem telepített. A Súgó menüből frissíthető.
Terminal=false
Icon=/home/kim/.mozilla/firefox_mozilla, portable, stable/browser/chrome/icons/default/default48.png
Categories=Network;
Type=Application

Ahogy átírod, majd mented a szöveges fájlt, az indító azonnal „Internet” kategóriába kerül át. A kategórián belül a „Főmenü” alkalmazással szerkesztheted, pl. mozgathatod le- vagy felfelé. A „Főmenü” indítóparancsa: mozo
Ha a menüszerkesztő alkalmazás nem jelenik meg, akkor a mozo paranccsal elindítod (terminál, vagy Futtatás ablak: Alt + F2), és x-et téve a neve mellé, láthatóvá teszed. A „Főmenü” a „Kellékek˝ menüben található meg.

Forrás:
https://specifications.freedesktop.org/menu-spec/menu-spec-1.0.html
(https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html)

Előfordulhat azonban, hogy rendszer újraindítás is kell az érvényesítéshez, mert a „Menü” frissítése egyes régebbi verziójú asztali környezek tekintetében csak így megoldott.

A kategóriák

A. Registered Categories

This section contains a number of well known categories and suggestions on how to use them:

The list of Main Categories consists of those categories that every conforming desktop environment MUST support.

The list of Additional Categories provides categories that can be used to provide more fine grained information about the application.

The list of Reserved Categories containes categories that have a desktop-specific meaning.

Note that category names are case-sensitive.

Main Categories

By including one of the Main Categories in an application's desktop entry file, the application will be ensured that it will show up in a section of the application menu dedicated to this category. If multiple Main Categories are included in a single desktop entry file, the entry may appear more than once in the menu.

Category-based menus based on the Main Categories listed in this specification do not provide a complete ontology for all available applications. Category-based menu implementations SHOULD therefore provide a "catch-all" submenu for applications that cannot be appropriately placed elsewhere.

The table below lists all Main Categories.

Main Category Description Notes
AudioVideo Application for presenting, creating, or processing multimedia (audio/video)  
Audio An audio application Desktop entry must include AudioVideo as well
Video A video application Desktop entry must include AudioVideo as well
Development An application for development  
Education Educational software  
Game A game  
Graphics Application for viewing, creating, or processing graphics  
Network Network application such as a web browser  
Office An office type application  
Science Scientific software  
Settings Settings applications Entries may appear in a separate menu or as part of a "Control Center"
System System application, "System Tools" such as say a log viewer or network monitor  
Utility Small utility application, "Accessories"  

Forrás:
https://specifications.freedesktop.org/menu-spec/latest/apa.html

Enjoy :)

Hozzászólások

Ugyanez Ubuntu 18.04-en

Értékelés: 

0
Még nincs értékelve

Meg van az a Ubuntu 18.04 felett is valahol ez a kellemes „Indító létrehozása...” lehetőség valahol?
Én sajnos csak azt vettem észre, hogy a jobb gombos menüből még a jól megszokott "Új dokumentum létrehozása" menüpont is eltűnt :(

kimarite képe

Ugyanez Ubuntu 18.04-en | „Indító létrehozása...” lehetőség

Értékelés: 

5
Átlag: 5 (1 szavazat)

#1 Meg van az a Ubuntu 18.04 felett is valahol ez a kellemes „Indító létrehozása...” lehetőség valahol?
Én sajnos csak azt vettem észre, hogy a jobb gombos menüből még a jól megszokott "Új dokumentum létrehozása" menüpont is eltűnt

Gondolom, Gnome az asztali környezet. És a Nautilus fájlkezelő az, ami nem tudja.
Az biztos, hogy a Nemo fájlkezelő tudja ezt is:

Teszt telepítés (mennyi függőséget hoz):

sudo apt-get install nemo -s

Itt egy másik lehetőség általában:
https://linuxmint.hu/blog/2015/12/az-xfce-asztali-kornyezet-alkalmazas-m...

Még mindig itt: exo-utils

apt-file search exo-desktop-item-edit
exo-utils: /usr/bin/exo-desktop-item-edit
exo-utils: /usr/share/man/man1/exo-desktop-item-edit.1.gz

Ugyanez Ubuntu 18.04-en | „Indító létrehozása...” lehetőség

Értékelés: 

5
Átlag: 5 (1 szavazat)

#1.1   Köszönöm...

Parancsikon van, de nem működik

Értékelés: 

0
Még nincs értékelve

Az e-személyi linuxos aláírás kezelőjébe próbálok életet lehelni...

Úgy tűnik, hogy terminálban a következő szkripttel már -hibaüzenet nélkül- sikerül is:

`cd /home/csola48/KEAASZ && ./KEAASZ.sh` (a KEAASZ a belügyi IT-sek fantáziadús rövidítése... :)

Viszont! Ha az alkalmazásindító parancssorába ugyanezt a szkriptet beírom, akkor hibaüzenetet kapok. Miért, valamit nyílván(?) rosszul csinálok... :(

[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Icon[hu_HU]=gnome-panel-launcher
Exec=`cd /home/csola48/KEAASZ` && ./KEAASZ.sh
Name[hu_HU]=KEAASZ
Name=KEAASZ
Icon=/home/csola48/KEAASZ/NISZ.ico

Parancsikon van, de nem működik

Értékelés: 

0
Még nincs értékelve

#3

csola48@csordas:~$ sh -c /home/csola48/KEAASZ/KEAASZ.sh
/home/csola48/KEAASZ/KEAASZ.sh: sor: 4: ./jre1.8.0_144/bin/java: Nincs ilyen fájl vagy könyvtár

 

Parancsikon van, de nem működik

Értékelés: 

0
Még nincs értékelve

#3.1 Ha elnavigálsz a könytárába és kiadod ./KEAASZ.sh parancsot akkor müködik? Úgy tűnik mintha a Java-ra panaszkodna.

kimarite képe

java -version | openjdk version "1.8.*"

Értékelés: 

0
Még nincs értékelve

#3.1 Ez kell neked:

sudo apt-get install openjdk-8-jre

Kapcsolódó információ:
https://www.oracle.com/technetwork/java/javase/overview/oracle-jdk-faqs....
(http://www.webupd8.org/2012/09/install-oracle-java-8-in-ubuntu-via-ppa.html )

Aztán nézd meg, hol a Java,

readlink -f $(which java)

és melyik van használva.

java -version
kimarite képe

Nemo / Cinnamon és Ubuntu Gnome / Nautilus

Értékelés: 

0
Még nincs értékelve

#1.1 Tehát a Cinnamon asztali környezetnél, a Nemo fájkezelőt használva egy script létrehozása oldja meg, hogy a Nemo fájlkezelő menüjéből is lehessen parancsikon készítést kezdeményezni a Linux Mint saját menüjébe (igaz, hogy nem is értem, erre pontosan, mi szükség van).

Létrehozzuk a scriptet Indító létrehozása... néven és szerkesszük:

nano ~/.local/share/nemo/scripts/Indító\ létrehozása...

A script tartalma:

#!/bin/bash

exo-desktop-item-edit --create-new ~/.local/share/applications

Mentés, és kilépés a nano szövegszerkesztőból:

Ctrl + O, majd Enter,
és Ctrl + X

Futtathatóvá tesszük a scriptet:

chmod a+x ~/.local/share/nemo/scripts/Indító\ létrehozása...

És már működik.
https://www.youtube.com/watch?v=A8MO7fkZc5o

-----

A Gnome3 asztali környezetben alapértelmezett Nautilus fájlkezelőben is működhet az elgondolás, de a scriptek lakhelye máshol van nyilván. Valahol itt:

~/.local/share/nautilus/scripts/

Ha a könytár nem létezik, létrehozod:

mkdir -p ~/.local/share/nautilus/scripts

Ha mindig a Gnome Asztalra szeretnél parancsikonokat létrehozni és a magyar nyelven használod a rendszert, azaz a „Desktop” könyvtár neve Asztal, akkor a script tartalma legyen ez:

#!/bin/bash

exo-desktop-item-edit --create-new ~/Asztal

De több célra, több scriptet is létre lehet hozni, ekkor a script nevében érdemes jelezni, melyik hova hoz létre indítót.

Ötlet (Nautilus script könyvtár): https://linuxconfig.org/how-to-extend-the-gnome-nautilus-file-manager-with-custom-scripts

----

Nem ezt a módszert követtem (script-info.md) | Nemo:

#### Scripts

When executed from a local folder, scripts will be passed
the selected file names. When executed from a remote folder
(e.g. a folder showing web or ftp content), scripts will
be passed no parameters.

In all cases, the following environment variables will be
set by Nemo, which the scripts may use:

- NEMO_SCRIPT_SELECTED_FILE_PATHS: newline-delimited paths for selected files (only if local)
- NEMO_SCRIPT_SELECTED_URIS: newline-delimited URIs for selected files
- NEMO_SCRIPT_CURRENT_URI: URI for current location
- NEMO_SCRIPT_WINDOW_GEOMETRY: position and size of current window
- NEMO_SCRIPT_NEXT_PANE_SELECTED_FILE_PATHS: newline-delimited paths for selected files in the inactive pane of a split-view window (only if local)
- NEMO_SCRIPT_NEXT_PANE_SELECTED_URIS: newline-delimited URIs for selected files in the inactive pane of a split-view window
- NEMO_SCRIPT_NEXT_PANE_CURRENT_URI: URI for current location in the inactive pane of a split-view window

Parancsikon van, de nem működik

Értékelés: 

0
Még nincs értékelve

#3.1.1 Csont nélkül működik...

De mondom, hogy a terminálból is működik a tárgyalt parancssor. A terminál és a parancsikon "parancs" sora különbözőképpen működik?

java -version | openjdk version "1.8.*"

Értékelés: 

0
Még nincs értékelve

#3.1.2

$ readlink -f $(which java)
/usr/lib/jvm/java-11-openjdk-amd64/bin/java

===

$ java -version
openjdk version "11.0.5" 2019-10-15
OpenJDK Runtime Environment (build 11.0.5+10-post-Ubuntu-0ubuntu1.118.04)
OpenJDK 64-Bit Server VM (build 11.0.5+10-post-Ubuntu-0ubuntu1.118.04, mixed mode, sharing)

===

openjdk-8-jre telepítése nem fog "összeakadni" a már telepítettel? (Sorry, ha buta kérdés...)

openjdk-11-jre is telepítve van.

 

java -version | openjdk version "1.8.*"

Értékelés: 

0
Még nincs értékelve

#3.1.2

Van neki saját jre1.8.0_144 -e...

 

kimarite képe

Parancsikon van, de nem működik

Értékelés: 

5
Átlag: 5 (1 szavazat)

#3.1.1.1 Ezt próbáld az indítóban:

sh -c "cd /home/csola48/KEAASZ ; ./KEAASZ.sh"

A könyvtárváltást (cd) olykor külön szükséges megtenni script futtatásakor.

Megnézhetnéd a KEAASZ.sh script első sorát, ha ott #!/bin/bash szerepel, akkor ezt tedd az indítóba:

bash -c "cd /home/csola48/KEAASZ ; ./KEAASZ.sh"
kimarite képe

java -version | openjdk version "1.8.*"

Értékelés: 

5
Átlag: 5 (1 szavazat)

#3.1.2.1 #3.1.2.2 #3.1.2.2.1 Ha van a KEAASZ-nak saját Java-ja, akkor a cd (könyvtárváltás) kell a parancssorba érzésem szerint, amit az indítóba teszel és nem kell telepíteni másik Java verziót. A részletekre nem emlékeztem. (https://linuxmint.hu/forum/e-szemelyi )
Amúgy, persze, Java telepítés esetén, be kéne állítani az alapértelmezettet, mert az egyik alkalmazás ezt, a másik amazt használhatja.

Ha installálva van a java8 és Ha installálva van a java8 és

Értékelés: 

0
Még nincs értékelve

#4

#4

Nem telepítettem a jre1.8.0 -at, mert úgy tűnik minden függőség meg van. Erre utal a saját könyvtárból való futtatás, amelyre minden funkció elérhet.

Már csak az a kérdés, hogy miért fut a saját könyvtérából (ez logikus, hogy miért) és miér fut ugyancsak terminálból! De miért nem érti meg ugyanezt a parancssort a alkalamazásindító "Exec"-sze

Parancsikon van, de nem működik

Értékelés: 

0
Még nincs értékelve

#3.1.1.1.1

Itt az egész KEAASZ.sh

#!/usr/bin/env bash
[ -z $DISPLAY ] && ( echo 'Nincs display változó beállítva'; exit 1)

./jre1.8.0_144/bin/java -Djava.security.debug=sunpkcs11,pkcs11 -cp .:work/jni4net.j-0.8.8.0.jar:work/KEAASZ.j4n.jar:keaasz.jar:lib/* hu.kdiv.keaesz.standalone.KEAASZ

Parancsikon van, de nem működik

Értékelés: 

0
Még nincs értékelve

#3.1.1.1.1

Gratulálok és köszönöm! A bash volt a nyerő és a következő szkript:

bash -c "cd /home/csola48/KEAASZ ; ./KEAASZ.sh"
kimarite képe

a megoldás

Értékelés: 

0
Még nincs értékelve

#3.1.1.1.1.2 Nna, szuperek vagyunk (mindannyian, akik segítettek). :-)

Capit'o'ált az alkalmazás.

-----

#4.1 Mert a teljes elérési úttal - úgy tűnik - nem találja meg a Java-t.

De ... kipróbálhatod így is, hátha a bash a megoldás erre (is):

bash -c /home/csola48/KEAASZ/KEAASZ.sh

-----

Ahogy közölted, a script tartalma ez

#!/usr/bin/env bash
[ -z $DISPLAY ] && ( echo 'Nincs display változó beállítva'; exit 1)

./jre1.8.0_144/bin/java -Djava.security.debug=sunpkcs11,pkcs11 -cp .:work/jni4net.j-0.8.8.0.jar:work/KEAASZ.j4n.jar:keaasz.jar:lib/* hu.kdiv.keaesz.standalone.KEAASZ

és benne a saját Java könyvtár használatára a megoldás.
És (itt) a környezeti változó állítja be a héjat használó alkalmazást ...
A környezeti változó (Environment Variables) egy alkalmazás állítja be, és, mint a cronnál, itt is teljes elérési úttal szerepel (célszerű a teljes elérési út használata):

#!/usr/bin/env bash

Hogy mi az alapértelmezett héj nálad?

Nálam a bash:

echo $SHELL
/bin/bash

A bash és az sh is egy „command line interpreter”.

A rendszer által használt környezeti változók ($VÁLTOZÓ) listáját így nézheted meg:

printenv

A szűkített keresés ugyanazt találja (nem meglepő), mint az echo:

printenv | grep SHELL
SHELL=/bin/bash

Kézikönyvek:

man echo
man printenv

a megoldás

Értékelés: 

0
Még nincs értékelve

#4.1.1 Köszönöm szépen!