XAMPP indítás menüből

Fórum: 

LM 18.1-et nyűttem eddig, most feltettem a 19.3-at. Installáltam a XAMPP-ot gond nélkül, terminálból indítva fut rendesen. Azonban ez nekem macerás, szeretném a XAMPP control-panelját a start menüből indítani.

A 18.1 alatt ez simán megoldható volt ez alapján: link

Azonban, a gksu időközben kiszállt a játékból (deprecated), így fogalmam sincs, hogyan lehetne megcsinálni ezt a dolgot. Próbáltam a menu szerkesztővel manuálisan létrehozni egy indítót, de nem sikerült (admin privilégiumot követelt, és nem indult el).

Tudna valaki megoldást?

pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY

Értékelés: 

0
Még nincs értékelve

#1 Köszi. Röviden leírnád, hogy pontosan mit is csinál ez a parancs? Létrehoz egy indítót a start-menüben? Egyéb tennivaló nincs, csak lefuttatni ezt?

kimarite képe

pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY

Értékelés: 

0
Még nincs értékelve

#2 Nagyon röviden:

-- megvan a sudo-s parancssorod a panel indítására (vagyis annak az indítási parancsa), de én nem tudom, mi az, és sudo-t nem használunk grafikus alkalmazásokhoz.
-- megfogod, a parancssorből kiveszed a sudo-t, mert ez helyettesíti egy, az egyben:

pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY

Teszteld először terminálban az egész parancssort.

Ide is másolhatod, jó lesz másnak is. Ha beválik ...

Nos, egyelőre félsiker, ami

Értékelés: 

0
Még nincs értékelve

Nos, egyelőre félsiker, ami ugye nem siker.

1./ Root-ként létrehoztam egy xampp-control-panel.desktop nevű fájlt a /usr/share/applications-ban

2./ Beleírtam ezt és mentettem:

[Desktop Entry]
Encoding=UTF-8
Name=XAMPP Control Panel
Comment=Start and Stop XAMPP
Exec=pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY /opt/lampp/manager-linux-x64.run
Icon=/opt/lampp/htdocs/favicon.ico
Categories=Application
Type=Application
Terminal=false

3./ A start menüben létrejött egy új kategória (Other), és ott figyel benne a XAMPP Control Panel! Eddig jó. De csak eddig.

4./ Rákattintok a XAMPP CP-ra a menüben, megnyílik a szokásos jelszóbekérő ablak, beírom, katt. És semmi. Nem nyílik meg.

5./ Ugyanakkor, ha csak ezt lefuttatom a Terminálban, akkor jelszóbekérés után szépen meg is nyílik:

pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY /opt/lampp/manager-linux-x64.run

Nem értem, miért nem nyílik meg a menün keresztül, holott ott is ugyanez a parancs van.

 

kimarite képe

Nos, egyelőre félsiker, ami

Értékelés: 

5
Átlag: 5 (1 szavazat)

#4 Indítóba

bash -c "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY /opt/lampp/manager-linux-x64.run"

Debian / Cinnamon indul menüből így is:

pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY /opt/lampp/manager-linux-x64.run

Wow! Ez jó:

Értékelés: 

0
Még nincs értékelve

Wow, köszi!  Működik. Ez jó:

bash -c "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY /opt/lampp/manager-linux-x64.run"

Ez nem:

pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY /opt/lampp/manager-linux-x64.run

Tehát a teljes fájl ez:

[Desktop Entry]
Encoding=UTF-8
Name=XAMPP Control Panel
Comment=Start and Stop XAMPP
Exec=bash -c "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY /opt/lampp/manager-linux-x64.run"
Icon=/opt/lampp/htdocs/favicon.ico
Categories=Application
Type=Application
Terminal=false

kimarite képe

Wow! Ez jó:

Értékelés: 

0
Még nincs értékelve

#6 A parancsértelmező (*) a menü indítóban az „Exec” sorban használt parancssorban szereplő szóközöket külön értelmezi, mert a pkexec és paraméterezése sem nem a binárishoz (manager-linux-x64.run) tartozik, hanem azt vezérli. Ezért különálló parancsoknak számítanak, de egyben kéne értelmezni az egészet. A terminál ezt (még) megoldja, de a parancsikon nem terminál. A bash viszont fut, használható az indítóban is, a c paraméter jelzi azt, hogy utána egy parancs következik.

       -c        If the -c option is present, then commands are read from  the
                 first non-option argument command_string.  If there are argu‐
                 ments after the command_string, the  first  argument  is  as‐
                 signed  to $0 and any remaining arguments are assigned to the
                 positional parameters.  The assignment to $0 sets the name of
                 the shell, which is used in warning and error messages.

-- Kézikönyv: man bash

Ha a parancssorban szóközök vannak, akkor  kettő karakter is használható, hogy a közéjük zárt parancsokat, paramétereket egynek, egyben értelmezze a rendszerhéj. Ezek (a példára vonatkozóan):

" # azaz a Shift + 2
' # azaz a Shift + 1

A szóközök amúgy fontosak.

Tehát a bash várja a c paraméter miatt a parancsot, ami immár egy parancsnak látszik a "-k miatt, ezért sikeresen le is futtatja azt. A c paraméter után egy parancs lehet, mert újabb parancs, másik c paramétert kívánna .. . Most nem egymástól függetlenül és egymás után fut le több parancs, de erre is lehet igény.

bash -c "sleep 12 ; conky -c /$HOME/.conkyrc”

... így késleltetjük a Conky betöltését a rendszer indításakor az Indítópultban.

Az ; ugyanaz, mint a && . Lefut az egyik parancs és csak utána a következő.