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
-
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.
[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
#!/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.
-
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/
-
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
-
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".
-
[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:
Exec=gnome-terminal -x /home/pavel/Script.sh
-
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
-
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í.
-
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á? ???
-
Pokud používáš lxterminal musíš dát options fungující v tomto terminálu. Podle zdrojů z internetu by to mělo vypadat takto:
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.
-
Sláva !!!
Díky Vašim radám se to povedlo !!!
Zápis ve spouštěči:
[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.
-
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...)
-
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.