Sada je: 28 ožu 2024, 14:29.
Novi ste u svijetu Linuxa? Imate hrpu početničkih pitanja?

Moderator/ica: Moderatori/ce

Pravila foruma
PRAVILA ZA NOVE KORISNIKE LINUXA!
Prije otvaranja bilo kakve diskusije svaki novi korisnik u svijetu Linuxa obavezan je učiniti sljedeće korake:
Pročitati ove tekstove iz naše Wikipedije:
- Sve uvodne tekstove Linuxa za početnike (njih 5)
- Sve što trebate znati o radu s diskovima
- Pročitati ovu temu za početnike
- Pokušati pronaći riješenje problema u Enciklopediji znanja

Nakon toga korisnik smije otvoriti temu s naslovom svog problema uz obaveznu naznaku Linux distribucije koju koristi u formi:
[Linux distribucija, broj verzije, grafičko okruženje]: Naslov problema
U prvom postu korisnik obavezno mora odgovoriti na ova pitanja:
- Da li ima instalirane Windowse?
- Što ga je motiviralo na instaliranje i korištenje Linux distribucije?
- Obavezno je potrebno navesti specifikacije hardvera (Ime Laptopa, tip procesora, grafičke i mrežne kartice, količina RAM-a i diska)

Bez učinjenih ovih prvih koraka, na teme se neće odgovarati i one će biti izbrisane s foruma!
Pozdrav raja,
pocetnik sam i koliko toliko sam se upoznao sa znacenjem skripti i koja je njihova uloga.
I nasao sam na netu neku skriptu koja mi treba za screenshot + upload ( ovo je link -> http://sirupsen.com/a-simple-imgur-bash ... t-utility/ ).
Imam problem, instalirao sam ove dependicije ali ne kontam ove dijelove oko postavljanja PATH-a.
Iskreno citao sam dosta o tome na netu ali ipak nisam bas najbolje skontao sve, pa ako je neko voljan malo pomoci mi oko razmijevanja
pojmova PATH i primijetio sam na ovom linku za treba file prebaciti u local bin, medjutim nisam bas siguran sta to znaci i kako to uraditi.
Dosta je lakse skontati kad neko svojim rijecima objasni nesto.
Hvala vam unaprijed na pomoci :)
Zadnja izmjena: Cijad; 01 kol 2014, 16:33; ukupno mijenjano 1 put/a.
Postovi: 41
Postovi: 41
Pridružen/a: 21 srp 2014, 17:57
Podijelio/la zahvalu: 0 puta
Primio/la zahvalu: 0 puta
Spol: M
OS: Ubuntu
$PATH je sistemska varijabla koja "govori" tvom sustavu (i svim programima koji to trebaju) u kojem folderu trebaju tražiti binaries. Binaries su nešto slično .exe datotekama na Windowsima; dakle, datoteke koje se mogu same izvršavati. $PATH sadrži putanje do tih foldera; otuda i ime za njega (path).

Da bi vidio koji je tvoj trenutni $PATH, u terminal možeš upisati
Kod: Označi sve
echo $PATH


i ispisat će ti se putanje do nekih foldera koji su trenutno postavljeni.

Ako to želiš promijeniti, morat ćeš urediti datoteke .profile ili .bash-profile koje se nalaze u tvom /home/korisnik folderu. Te promjene će vrijediti samo za korisnika u čijem se /home folderu nalaze datoteke. Ako želiš da se promjene primjenjuju globalno, trebaš urediti /etc/profile.

$PATH se može mijenjati i kroz terminal naredbom export. Ako želiš u potpunosti zamijeniti tj. prepisati postojeći path novim, onda napišeš
Kod: Označi sve
export PATH=/nova/putanja/do/foldera


Međutim, $PATH ne mora sadržavati samo jedan folder, može ih biti i više. Da bi dodao nove foldere na postojeći $PATH, treba ih samo "nalijepiti" opet koristeći naredbu export, ovako
Kod: Označi sve
export PATH=$PATH:/nova/putanja/do/foldera


E sad, čemu $PATH služi? Probat ću ovo objasniti, ako nešto krivo napišem molim da me ispravite. :)

Dakle, recimo da držiš neke bash skripte u /usr/bin/mojeskripte i želiš ih pokretati iz terminala bez obzira u kojem se folderu trenutno nalazio u njemu. Da bi ih pokrenuo, moraš napisati cijelu putanju do njih, znači /usr/bin/mojeskripte/skriptica.sh
ALI, kad dodaš /usr/bin/mojeskripte u svoj $PATH, onda će biti dovoljno da samo napišeš skriptica.sh i ona će se pokrenuti.

Konkretno, ova skripta koju si linkao pretpostavlja da je folder /bin već dodan u tvoj $PATH jer se ona u njega automatski instalira (tj. napravi folder u njemu). Ako ne želiš modificirati izvorni kod skripte prije njene instalacije, onda prvo provjeri koji ti je trenutni $PATH. Ako /bin nije u njemu, možeš ga dodati koristeći ovu drugu export metodu s dvotočkom da ti se ne bi obrisao cijeli trenutni $PATH. Ili ako misliš da je tako sigurnije, možeš urediti one .profile datoteke koje sam spomenula.

Nadam se da ti ovo barem malo pomaže :)
Avatar
Site Admin
Postovi: 6502
Site Admin
Postovi: 6502
Pridružen/a: 06 lip 2009, 23:16
Lokacija: Online
Podijelio/la zahvalu: 621 puta
Primio/la zahvalu: 631 puta
OS: Kubuntu & Fedora
Pojam PATH znači PUT ili STAZA ili PUTANJA do neke mape ili datoteke u sustavu. Komande su isto izvršne datoteke koje se nalaze u nekom folderu. Kad ukucaš neku komandu, onda "izvršilac komandi" (shell komandni interpreter - obično bash), pregleda datoteke čije putanje već ima zadane u PATH-u u potrazi za istom.

Ako imaš neku izvršnu datoteku (skriptu, binarni program) za koju ne želiš ubacivati novi path, a trenutno se nalaziš u istom folderu u kojem je i taj program, onda ga pokreneš tako da dodaš ./ ispred naziva programa. Npr., uđem u folder u kojem je igrica :
cd /games/unreal
i onda upišem:
./unrealtournament.run
I da, tilda iliti ~ je skraćenica za tvoj home folder, tako da je
~/programiranje
isto što i
/home/jurastublic/programiranje
a samo /
je naziv glavnog ili root foldera (tj. ono što bi u vindovsima bilo C:\ ili D:\ - vindovsi imaju po jedan root folder na svakoj particiji ili vanjskom disku a linux ima samo jedan za sve)
I da se ne bi bunio, root folder nije isto što i root korisnik. Prvo je korijenski folder a drugo je glavni korisnik sa najvećim ovlastima u sustavu.
Avatar
Postovi: 1907
Postovi: 1907
Pridružen/a: 16 tra 2011, 08:34
Lokacija: i grupa Film
Podijelio/la zahvalu: 45 puta
Primio/la zahvalu: 342 puta
Spol: M
OS: Mint 10 LXDE itd...
sa echo $PATH dobijem sljedece : /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
Znam da : predstavljaju ono sto ; u winu ako sam dobro skontao (ispravite ako grijesim). Eh sada, da li znaci da je bin vec u PATH ili ???
I sada npr ova skriptica sa linka koji sam postavio: spasio sam je na desktop, napravio da je executable i spasio pod obicnim imenom "shoot", downloadova potrebne dependicije i ako sam dobro skontao iduci korak je ovaj dio sa bin i PATH. Vec sam pokusao sa copy-paste da prebacim ovaj "shoot" file u bin ali nisam mogao, pa sam tu zastopao ne znam koji je iduci korak. Svaka pomoc je dobrodosla.
I da, hvala vam na objasnjenju ovih pojmova :D

EDIT: Uspio sam rijesiti dio problema. Napravio sam folder u home-u i dao mu naziv Scripts i tu sacuvao skriptu. I sada je mogu pokrenuti tako sto dodjem do foldera i bash shoot.sh i radi :D
Sada bih imao pitanje, da li je moguce nekako dodati PATH sa naredbom export ( primjer od Abzeenth ) da je onda mogu pokretati samo kucanjem shoot.sh ili ?
I kako da napravim da mogu pokrenuti skriptu sa double klikom, stavio sam da je executable ali ne znam sta dalje ?
Postovi: 41
Postovi: 41
Pridružen/a: 21 srp 2014, 17:57
Podijelio/la zahvalu: 0 puta
Primio/la zahvalu: 0 puta
Spol: M
OS: Ubuntu
Cijad je napisao/la: Sada bih imao pitanje, da li je moguce nekako dodati PATH sa naredbom export ( primjer od Abzeenth ) da je onda mogu pokretati samo kucanjem shoot.sh ili ?
I kako da napravim da mogu pokrenuti skriptu sa double klikom, stavio sam da je executable ali ne znam sta dalje ?


Mozes napravit Launcher. Ne koristim ubuntu al vjerovatno imas na desni klik Create Launcher. Na Manjaru izgleda ovako(vjerujem da je i na ubuntu slicno):

slika

Pored inputa za Command imas button kojim odredis putanju do svoje skripte. I nakon sto napravis Launcher, pokreces svoju skriptu s klikom. :)



To je GUI nacin za generisat .desktop fajl koji ce pokretati tvoju skriptu. Ako te malo vise interesuje mozes pogledat i ovo.
Avatar
Postovi: 408
Postovi: 408
Pridružen/a: 15 lis 2013, 01:42
Lokacija: BiH, Kakanj
Podijelio/la zahvalu: 46 puta
Primio/la zahvalu: 30 puta
Spol: M
OS: Arch / Manjaro / #!
Nisam nasao :( . Neka druga ideja ?
Postovi: 41
Postovi: 41
Pridružen/a: 21 srp 2014, 17:57
Podijelio/la zahvalu: 0 puta
Primio/la zahvalu: 0 puta
Spol: M
OS: Ubuntu
Cijad je napisao/la:Nisam nasao :( . Neka druga ideja ?


Ajde ovako.

Napravi novi fajl. Neka se zove tvoja_skripta.desktop.

Onda u omiljenom text editoru sadrzaj fajla tvoja_skripta.desktop postavis na nesto ovako:
Kod: Označi sve
[Desktop Entry]
Name=Tvoja Skripta
Type=Application
Exec=/putanja/tvoje/skripte
Icon=/putanja/ikone/tvoje/skripte (nije obavezno)
Terminal=true/false


Exec treba da sadrzi putanju do tvoje skripte.
Ikonu mozes a i ne moras postavit,ako ne postavis dobit ces defaultnu.
Terminal postavis na true ako zelis da se i terminal pojavi(vjerovatno da).
Avatar
Postovi: 408
Postovi: 408
Pridružen/a: 15 lis 2013, 01:42
Lokacija: BiH, Kakanj
Podijelio/la zahvalu: 46 puta
Primio/la zahvalu: 30 puta
Spol: M
OS: Arch / Manjaro / #!
Uspjesno. Hvala puno na pomoci :D
Postovi: 41
Postovi: 41
Pridružen/a: 21 srp 2014, 17:57
Podijelio/la zahvalu: 0 puta
Primio/la zahvalu: 0 puta
Spol: M
OS: Ubuntu
Pozdrav,
koristim Raspberry pi sa Noobs verzijom OS i na njemu vrtim program Direwolf sa slanje paketa pute radio stanice. U instalaciji postoji skripta koja bi trebala da odradjuje u slučaju restarta mašine da sam pokrene Direwolf nakon dodređenog vremena, ali to ne znam pokrenuti treba mi pomoć. Navedeni skripta se nalazi na
https://github.com/wb2osz/direwolf/blob ... w-start.sh

Meni može pomoći i da napravimo novu skripta koja će nakon podizanja OS startati nakon 60 sekundi i pokrenuti u terminalu ovo

pi@E79XZA:~ $cd ./direwolf
pi@E79XZA:~ $direwolf

Naravno da ostane otvoren terminal nakon što doradi da se vidi sta se dešava.

Svaka pomoć je dobro došla i unaprijed hvala.
Postovi: 1
Postovi: 1
Pridružen/a: 18 srp 2019, 22:25
Podijelio/la zahvalu: 0 puta
Primio/la zahvalu: 0 puta
Spol: M
OS: windows
e75nt je napisao/la:Naravno da ostane otvoren terminal nakon što doradi da se vidi sta se dešava.
Svaka pomoć je dobro došla i unaprijed hvala.

Iz direwolf manuala nakon 30 sekundi traženja:
Spremi skriptu u svoj korisnički direktorij (/home/pi/), te označi skriptu izvršnom:
Kod: Označi sve
chmod +x ./dw-start.sh

Namjestiti putem crona da skripta provjerava svake minute radi li direwolf i ako ne radi ponovo ga pokrenuti:
Prvo otvoriti editor s crontab datotekom:
Kod: Označi sve
crontab -e

Upisati na kraj datoteke:
Kod: Označi sve
* * * * * /home/pi/dw-start.sh >/dev/null 2>&1

i snimiti promjene. ("Ctrl-X" u nano editoru pa "D", pa "Enter")

Problem crona je prikaz preko terminala. Kako vidim, skripta rješava nesigurnosti oko crona i raznoraznih gui terminala tako da koristi "screen", što je jako dobra ideja ali zahtijeva od tebe malo truda da naučiš osnove upravljanja screenom. Potroši malo vremena na screen (i tmux svakako) ako možeš, nećeš požaliti.

Ako baš hoćeš svoju skriptu s onim komandama i prikazom u terminalu
Kod: Označi sve
#!/bin/bash
sleep 60
lxterminal --working-directory=/home/pi/direwolf -e ./direwolf

i stavi je negdje u autostart pomoću opcija glavnog izbornika.
Avatar
Postovi: 1907
Postovi: 1907
Pridružen/a: 16 tra 2011, 08:34
Lokacija: i grupa Film
Podijelio/la zahvalu: 45 puta
Primio/la zahvalu: 342 puta
Spol: M
OS: Mint 10 LXDE itd...

Na mreži
Trenutno korisnika/ca: / i 9 gostiju.