Skrive launcher, der starter terminal og skriver command?

Få hjælp til at sætte programmer eller funktioner op.
gtr

Skrive launcher, der starter terminal og skriver command?

Indlæg af gtr »

ubuntu 14.04 64 bit

For at bruge clam i terminal til større filer eller foldere, skal
man åbner terminalen og skrive 'clamscan -r --max-filesize=3500M --max-scansize=3500M'efterfulgt
af filen eller folderen.

Kan man lave en launcher, der åbner terminalen og skriver command'en, så man kan tilføje
filen eller folderen og trykke 'enter'?

Til at oprette en launcher bruger jeg 'gnome-desktop-item-edit ~/Desktop/ --create-new'.

Tak.
AJenbo
Admin
Indlæg: 20878
Tilmeldt: 15. nov 2009, 15:04
IRC nickname: AJenbo
Geografisk sted: Vanløse, København

Re: Skrive launcher, der starter terminal og skriver command

Indlæg af AJenbo »

lav et shell script i stedet:

Kode: Vælg alt

#!/bin/sh
clamscan -r --max-filesize=3500M --max-scansize=3500M $1

Gem det som storclam, giv det udførsels rettigheder og flyt det til mappen /usr/bin

Nu kan du scanne filer med denne kommando:

Kode: Vælg alt

storclam filenavn
Klaus Rasmussen
Admin
Indlæg: 5606
Tilmeldt: 26. apr 2010, 02:40
IRC nickname: ClaudiuS
Geografisk sted: Nyborg [fyn]

Re: Skrive launcher, der starter terminal og skriver command

Indlæg af Klaus Rasmussen »

Det er selvfølgelig en smags sag, men jeg gemmer altid mine småscripts i:

Kode: Vælg alt

/usr/local/bin/

Så er det nemmere at finde dem igen.
Med Venlig Hilsen
Klaus

Kører Ubuntu 24.04.1 på ASUS All-Series, og Probook 4520s.
Gratis Ubuntumagasin: http://fullcirclemagazine.org/
https://mega.nz/folder/aJsmCYKa#dxMHKTi4Idmz6hiVpsI68Q
gtr

Re: Skrive launcher, der starter terminal og skriver command

Indlæg af gtr »

Tak for svar.

Jeg har saved sh scriptet i desktop.

Jeg kan ikke paste scriptet ind i /usr/bin eller /usr/local/bin/. Antageligvis har jeg ikke rettigheder til det. Forslag til, hvordan jeg flytter det?

Jeg kan ikke starte sh scriptet, når det er i desktop'en.
lath
Indlæg: 5095
Tilmeldt: 27. apr 2008, 02:16
IRC nickname: lars_t_h
Geografisk sted: Fyn

Re: Skrive launcher, der starter terminal og skriver command

Indlæg af lath »

gtr skrev:Tak for svar.

Jeg har saved sh scriptet i desktop.

Jeg kan ikke paste scriptet ind i /usr/bin eller /usr/local/bin/. Antageligvis har jeg ikke rettigheder til det. Forslag til, hvordan jeg flytter det?


Du skal altid bruge superbruger rettigheder uden for din egen mappe.

Du kan i stedet flytte scripte ind i en mappe som skal hedde bin (bemærk små bogstaver!) og som skal være under din egen hjemmemappe.
Ubuntu vil så automatisk tilføje din ~/bin mappe til PATH, der er en miljøvariabel der fortæller Ubuntu hvor den skal lede efter programmer, hvis du ikke skriver en absolut sti til et program.
I din egen ~/bin mappe er der ikke nogen rettighedsproblemer, da dit brugernavn er ejer af mappen.

gtr skrev:Jeg kan ikke starte sh scriptet, når det er i desktop'en.

Du skal sætte execute bits for scripts før det kan startes som en kommando. Du skal bruge chmod kommandoen til at sætte execute bits.

Bemærk:
Af sikkerhedsgrunde bliver den kopierede/flyttede fils execute bits nulstillet (=bliver til en alm datafil), når den kopieres eller flyttes.

/Lars
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags
AJenbo
Admin
Indlæg: 20878
Tilmeldt: 15. nov 2009, 15:04
IRC nickname: AJenbo
Geografisk sted: Vanløse, København

Re: Skrive launcher, der starter terminal og skriver command

Indlæg af AJenbo »

Hvis scriptet ikke ligger i en mappe hvor systemet kigger efter programmer skal du have en sti foran fil navnet, også selv om du stå i den samme mappe som scriptet, det kan så være bare være ./
gtr

Re: Skrive launcher, der starter terminal og skriver command

Indlæg af gtr »

Tak for svar.

Chmod er properties → permissions set read and write ved de to første og mark executing file? Det har jeg gjort.

Jeg har prøvet at flytte storclam sh filen til home folder'en. Når jeg skriver ./storclam + folderpath eller filepath, virker det.

Jeg har oprettet en bin folder i home folderen, og flyttet storclam filen ind i den.

Uanset om jeg skriver

./storclam + folderpath eller filepath
storclam + folderpath eller filepath
sudo ./storclam + folderpath eller filepath
sudo storclam + folderpath eller filepath

er svaret command not found

Forslag?
AJenbo
Admin
Indlæg: 20878
Tilmeldt: 15. nov 2009, 15:04
IRC nickname: AJenbo
Geografisk sted: Vanløse, København

Re: Skrive launcher, der starter terminal og skriver command

Indlæg af AJenbo »

Kode: Vælg alt

sudo mv  ~/storclam /usr/bin
lath
Indlæg: 5095
Tilmeldt: 27. apr 2008, 02:16
IRC nickname: lars_t_h
Geografisk sted: Fyn

Re: Skrive launcher, der starter terminal og skriver command

Indlæg af lath »

Kan du give os den absolutte sti til dit script?

Så får du en cp (kopiér) kommando + en chmod kommando der ordner rettigheder retur.

Jeg ville aldrig ikke mikse et DIY script ind i /usr/bin mappen, som er en af de mapper hvor pakker lægger deres programmer ned i.
Det jeg ville gøre i stedet er at gemme scriptet i /usr/local/bin mappen.

/Lars
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags
gtr

Re: Skrive launcher, der starter terminal og skriver command

Indlæg af gtr »

Tak for svar. Jeg er tilhænger af, at scriptet starter fra den bin folder, jeg har oprettet i home folder'en.
Men nu skal det i stedet være /usr/local/bin mappen?

location: /home/ny/bin hvis det er den absolutte sti for sh scriptet storclam?
lath
Indlæg: 5095
Tilmeldt: 27. apr 2008, 02:16
IRC nickname: lars_t_h
Geografisk sted: Fyn

Re: Skrive launcher, der starter terminal og skriver command

Indlæg af lath »

gtr skrev:Tak for svar. Jeg er tilhænger af, at scriptet starter fra den bin folder, jeg har oprettet i home folder'en.

Det kommer ikke til at virke - sådan uden videre.
gtr skrev:Men nu skal det i stedet være /usr/local/bin mappen?

Hvis scriptet skal være tilgængeligt for alle andre brugere i din Ubuntu installation, så er det stedet at sætte scriptet ind.

gtr skrev:location: /home/ny/bin hvis det er den absolutte sti for sh scriptet storclam?

Den sti er ikke i PATH, så den virker ikke - medmindre altså dit brugernavn er ny. Årsagen er at det første niveau af undermappe under /home traditionelt er et brugernavn.

Jeg vil i stedet anbefale dig at lave en bin mappe under din egen hjemmemappe, hvis scriptet kun skal virke for dig.
Det gøres sådan her:

Kode: Vælg alt

mkdir -p $HOME/bin

I kommandoen er $HOME din hjemmemappe.

Bemærka t HOME miljø variablen ikke er tilgængelig i grafiske filbrowsere.
Du kan se hvad $HOME/bin mappen er som absolut sti ved at køre den her terminal kommando:

Kode: Vælg alt

echo -e "$HOME/bin"


Så flytter du scriptet fra /home/ny/bin til $HOME/bin. Når du opretter en bin mappe i din hjemmemappe vil en terminal udvide PATH til at inkludere din $HOME/bin mappe.

I desktoppen skulle det også virke, muligvis først efter en log ud efterulgt af en log ind.
Virker det stadig ikke i desktoppen så skal du åbne din .profile fil og tilføje det her på en ny linie - nederst i filen:

Kode: Vælg alt

export PATH=$PATH:$HOME/bin

PAS PÅ! Glemmer du $ i $PATH kan du ikke logge ind og ingen programmer virker!
Efter en log ind og en log ud virker det.

/Lars
Senest rettet af lath 18. jun 2014, 22:54, rettet i alt 1 gang.
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags
lath
Indlæg: 5095
Tilmeldt: 27. apr 2008, 02:16
IRC nickname: lars_t_h
Geografisk sted: Fyn

Re: Skrive launcher, der starter terminal og skriver command

Indlæg af lath »

gtr skrev:location: /home/ny/bin hvis det er den absolutte sti for sh scriptet storclam?


det er ikke den absolutte sti til scriptet.
Den absolutte sti til et eller andet inkluder også filnavnet og fil extension.

F.eks. så er den abslutte sti til det program der hedder sudo:

Kode: Vælg alt

which sudo

... der svarer helt rigtigt med resultatet:
which sudo skrev:/usr/bin/sudo


Bemærk at du ikke kan bruge which kommandoen for et DIY script der ikke er i PATH miljø variablen, fordi which bruger mapperne i PATH miljø variablen til at søge efter programmet.
Miljø variablen PATH indeholder en kolon-separeret liste af mapper hvor Ubuntu skal kigge efter programmer, hvis der ikke angives en absolut sti eller en relativ sti til programmet.

/Lars
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags
AJenbo
Admin
Indlæg: 20878
Tilmeldt: 15. nov 2009, 15:04
IRC nickname: AJenbo
Geografisk sted: Vanløse, København

Re: Skrive launcher, der starter terminal og skriver command

Indlæg af AJenbo »

@lath: hvordan kan de være du bruger $HOME frem for ~ som både er nemmere at skrive og virker i grafiske filbrowsere?
lath
Indlæg: 5095
Tilmeldt: 27. apr 2008, 02:16
IRC nickname: lars_t_h
Geografisk sted: Fyn

Re: Skrive launcher, der starter terminal og skriver command

Indlæg af lath »

AJenbo skrev:@lath: hvordan kan de være du bruger $HOME frem for ~ som både er nemmere at skrive og virker i grafiske filbrowsere?

Jeg arbejder ofte med terminal-only programmer på min lille test-server i Østrig, der ikke har en GUI, og jeg referer gerne til miljø-variabler.

Jeg bruger også begyndt at bruge en anden shell (zsh), så jeg har nok tendens til at lave noget jeg med sikkerhed ved virker både med bash og zsh.

/Lars
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags
AJenbo
Admin
Indlæg: 20878
Tilmeldt: 15. nov 2009, 15:04
IRC nickname: AJenbo
Geografisk sted: Vanløse, København

Re: Skrive launcher, der starter terminal og skriver command

Indlæg af AJenbo »

~ skulle gerne virke alle steder :)