Fórum Ubuntu CZ/SK

Ubuntu pro osobní počítače => Obecná podpora => Téma založeno: Pavel D 07 Července 2015, 07:57:38

Název: Spouštěč scriptu, zobrazení průběhu v terminálu
Přispěvatel: Pavel D 07 Července 2015, 07:57:38
Zdravím.
Vytvořil jsem spouštěč scriptu a potřeboval bych zobrazit průběh scriptu v terminálu. Když script spustím z terminálu, tak se průběh zobrazuje.

Kód: [Vybrat]
[Desktop Entry]
Version=1.0
Type=Application
Name=Script
Comment=
Exec=/home/pavel/Script.sh
Icon=/usr/share/icons/lubuntu/apps/22/midori.svg
Path=/home/pavel/
Terminal=true
StartupNotify=true
GenericName=

Zkušební script
Kód: [Vybrat]
#!/bin/bash
du -hs "/root/"
sleep 10
exit 0

Lubuntu 14.04.2, LXDE, jsem automaticky přihlášený jako root.
Práva jsou nastavena na Obsah, Změnit obsah, Spustit - vždy Kdokoliv.
Vždy po kliknutí se jen otevře terminál a je v něm
root@pavel-lubuntu:/home/pavel#
a zůstane otevřený a nic se neděje. Měl by zobrazit velikost adresáře a po 10 sekundách se zavřít.
V jiných distribucích mi to funguje, po kliknutí na spouštěč se otevře terminál a je v něm zobrazen průběh scriptu. Ale v lubuntu to zatím nefunguje, věděl by někdo kde mám chybu ?

Díky.
Název: Re:Spouštěč scriptu, zobrazení průběhu v terminálu
Přispěvatel: ntz_reloaded 07 Července 2015, 08:36:47
nemuze to byt jednoduse tim, ze uzivatel pavel nema pravo cist "/root" ?

> du -h /root/
du: cannot read directory ‘/root/’: Permission denied
4.0K    /root/
Název: Re:Spouštěč scriptu, zobrazení průběhu v terminálu
Přispěvatel: Pavel D 07 Července 2015, 08:43:04
Tam nemusí být /root.
Nefungovalo to i když tam bylo /home/pavel. U jiných distribucí nemusí být cesta vůbec vyplněná. Path=     nic tam není

Po spuštění PC se automaticky přihlásí root.
Proto mám upravený /etc/lightdm/lightdm.conf.

[SeatDefaults]
autologin-guest=false
autologin-user=root
autologin-user-timeout=0
autologin-session=lightdm-autologin
Název: Re:Spouštěč scriptu, zobrazení průběhu v terminálu
Přispěvatel: Pavel D 07 Července 2015, 09:58:47
Ještě doplnění:
Do scriptu jsem přidal Zenity a změnil adresář namísto root na /media/pavel/TRETI    (TRETI je celý oddíl HDD)

#!/bin/bash
du -hs "/media/pavel/TRETI/"
sleep 3
zenity --info --title "Informace o prubehu"

Když kliknu na spouštěč, tak se bohužel neotevře terminál jak bych potřeboval, ale po těch pár sekundách (sleep) vyskočí okno Zenity "Informace o průběhu".
Název: Re:Spouštěč scriptu, zobrazení průběhu v terminálu
Přispěvatel: Myrmica 07 Července 2015, 17:30:17
[Desktop Entry]
Version=1.0
Type=Application
Name=Script
Comment=
Exec=/home/pavel/Script.sh
Icon=/usr/share/icons/lubuntu/apps/22/midori.svg
Path=/home/pavel/
Terminal=true
StartupNotify=true
GenericName=

uprav:
Kód: [Vybrat]
Exec=gnome-terminal -x /home/pavel/Script.sh
Název: Re:Spouštěč scriptu, zobrazení průběhu v terminálu
Přispěvatel: jmp 08 Července 2015, 06:39:06
výše uvedený gnome-terminal nahraďte vhodnou náhradou z lubuntu a zauvažujte, zda nezměnit přístup a nenechat automaticky přihlašovat jiného uživatele než roota
Název: Re:Spouštěč scriptu, zobrazení průběhu v terminálu
Přispěvatel: Pavel D 08 Července 2015, 07:18:40
Díky za odpovědi.
Zkusil jsem namísto gnome dát lxterminal, ale po poklepání na ikonu spouštěče se zobrazí
"invalid desktop entry file: ' /home/pavel'
Příkaz lxterminal je doufám správně, vyzkoušel jsem to z terminálu a po zadání lxterminal se otevře nové okno terminálu.

Porovnával jsem to i se zápisy z jiných distribucí. Pokud chci třeba udělat na ploše zástupce složky, tak  Exec=pcmanfm a Path=/mnt/sda3/Dropbox. U zástupce složky na ploše je Terminal=false. U zástupců kde se má průběh scriptu zobrazovat je Exec=/root/Script.sh , Path=/root/ a Terminal=true.

Musím se automaticky přihlašovat jako root, při přihláčení jako uživatel byly pořád problémy s nějakými právy. V PC nic není, bezpečnost mě nezajímá a kdyby někdo chtěl, ať si stáhne cokoliv - jsou tam stejně jen záznamy vysílání. To jen na vysvětlení.


Název: Re:Spouštěč scriptu, zobrazení průběhu v terminálu
Přispěvatel: jmp 08 Července 2015, 07:25:42
bezpečnost vás nezajímá?

chyba, ono se to netýká jen vašich dat, ale i obtěžování okolí jen co se z takového stroje stane součást botnetu | bude zavirován | jednorázově účelově zneužíván
máte např. rád spam? já moc ne ale tímto k šíření spamu můžete snadno a výrazně (dle kapacity vaší linky) přispět
chcete návštěvu od policie, protože z vašeho stroje byl veden útok, či byl použit k jiné trestné činnosti?

pořád vás bezpečnost nezajímá?  ???
Název: Re:Spouštěč scriptu, zobrazení průběhu v terminálu
Přispěvatel: Myrmica 08 Července 2015, 07:28:23
Pokud používáš lxterminal musíš dát options fungující v tomto terminálu. Podle zdrojů z internetu by to mělo vypadat takto:
Kód: [Vybrat]
Exec=lxterminal -e /home/pavel/Script.shChce si to alespoň přečíst man lxterminal
Princip totiž je, že spustíš terminál a v něm tvůj skript.
Na to má každý terminál vlastní options.
Takže je více méně jedno jaký terminál použiješ. Jen vybrat správné options.
Název: Re:Spouštěč scriptu, zobrazení průběhu v terminálu
Přispěvatel: Pavel D 08 Července 2015, 07:50:31
Sláva !!!
Díky Vašim radám se to povedlo !!!

Zápis ve spouštěči:
Kód: [Vybrat]
[Desktop Entry]
Version=1.0
Type=Application
Name=Zkusebni
Comment=
Exec=lxterminal -e /home/pavel/Script.sh
Icon=/usr/share/icons/lubuntu/apps/22/midori.svg
Path=/home/pavel/
StartupNotify=true
GenericName=
X-KeepTerminal=true
Najednou se po neúspěšném spuštění objevila položka X-Keep Terminal (předtím tam nebyla). Tak jsem ji tam ponechal a smazal položku Terminal=true. Najednou to začalo fungovat.

Moc díky.

Ještě k výše uvedené bezpečnosti. Toto není normální PC, je to vlastně "nahrávací set top box" kde je pár záznamů než se zhlédnou na televizi a smažou. Zapojením tohoto historického PC do botnetu by si asi moc nepomohli. Na PC jsem dal několik malých linuxů (velké to vůbec neutáhne), teď je zrovna v kurzu lubuntu jelikož si výborně rozumí s DVB-T tunerem a VDR rekordérem.
Název: Re:Spouštěč scriptu, zobrazení průběhu v terminálu
Přispěvatel: Radovan76 08 Července 2015, 09:57:04
Ja som nieco podobne vyriesil tak, ze som do suboru .bashrc zapisal na koniec svoje prikazy, medzi nimi aj spominany du -h a vzdy po spusteni terminalu sa zobrazi zaplnenie disku pripadne konkretneho adresara (kos...)
Název: Re:Spouštěč scriptu, zobrazení průběhu v terminálu
Přispěvatel: Pavel D 08 Července 2015, 10:42:32
Ten script s velikostí složky je pouze zkušební na zprovoznění, potřeboval jsem spouštět jiné scripty.

Teď to funguje perfektně tak jak jsem potřeboval a jak to funguje i v jiných distribucích.