Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

bash scriptje

9 views
Skip to first unread message

Vito

unread,
Apr 19, 2016, 9:28:51 AM4/19/16
to
Hallo, ik zou graag een bash scriptje willen dat in staat is één video
willekeurig uit een vooraf gekende directory te kiezen en die door VLC
te laten afspelen. Die moet dus eerst het aantal filmpjes tellen want
daar komen er altijd wel enkele bij of er gaat al eens eentje weg.

Kan er iemand mij helpen? Ikzelf ben op dat vlak onkundig ....
Bedankt.

--
Vito
Gnu/Linux user #547905
using ManjaroLinux 15.12 XFCE
enjoy the simplicity ...

Aragorn

unread,
Apr 19, 2016, 9:39:37 AM4/19/16
to
On Tuesday 19 Apr 2016 15:28, Vito conveyed the following to
be.comp.os.linux...

> Hallo, ik zou graag een bash scriptje willen dat in staat is één video
> willekeurig uit een vooraf gekende directory te kiezen en die door VLC
> te laten afspelen. Die moet dus eerst het aantal filmpjes tellen want
> daar komen er altijd wel enkele bij of er gaat al eens eentje weg.
>
> Kan er iemand mij helpen? Ikzelf ben op dat vlak onkundig ....
> Bedankt.

Ik denk dat ik je misschien wel kan helpen, maar ik zal er wel wat tijd
voor nodig hebben. ;)

--
= Aragorn =

http://www.linuxcounter.net - registrant #223157

Aragorn

unread,
Apr 19, 2016, 9:44:42 AM4/19/16
to
On Tuesday 19 Apr 2016 15:39, Aragorn conveyed the following to
be.comp.os.linux...

> On Tuesday 19 Apr 2016 15:28, Vito conveyed the following to
> be.comp.os.linux...
>
>> Hallo, ik zou graag een bash scriptje willen dat in staat is één
>> video willekeurig uit een vooraf gekende directory te kiezen en die
>> door VLC te laten afspelen. Die moet dus eerst het aantal filmpjes
>> tellen want daar komen er altijd wel enkele bij of er gaat al eens
>> eentje weg.
>>
>> Kan er iemand mij helpen? Ikzelf ben op dat vlak onkundig ....
>> Bedankt.
>
> Ik denk dat ik je misschien wel kan helpen, maar ik zal er wel wat
> tijd voor nodig hebben. ;)

Ik heb alvast meteen al een vraagje: gaat het om één vastbepaalde
directory ─ en zo ja, welke? ─ of wil je een directory opgeven als
parameter bij het starten van het script?

Aragorn

unread,
Apr 19, 2016, 10:29:29 AM4/19/16
to
On Tuesday 19 Apr 2016 15:44, Aragorn conveyed the following to
be.comp.os.linux...

> On Tuesday 19 Apr 2016 15:39, Aragorn conveyed the following to
> be.comp.os.linux...
>
>> On Tuesday 19 Apr 2016 15:28, Vito conveyed the following to
>> be.comp.os.linux...
>>
>>> Hallo, ik zou graag een bash scriptje willen dat in staat is één
>>> video willekeurig uit een vooraf gekende directory te kiezen en die
>>> door VLC te laten afspelen. Die moet dus eerst het aantal filmpjes
>>> tellen want daar komen er altijd wel enkele bij of er gaat al eens
>>> eentje weg.
>>>
>>> Kan er iemand mij helpen? Ikzelf ben op dat vlak onkundig ....
>>> Bedankt.
>>
>> Ik denk dat ik je misschien wel kan helpen, maar ik zal er wel wat
>> tijd voor nodig hebben. ;)
>
> Ik heb alvast meteen al een vraagje: gaat het om één vastbepaalde
> directory ─ en zo ja, welke? ─ of wil je een directory opgeven als
> parameter bij het starten van het script?

Okee, de eerste versie is klaar, maar ik moet wel nog weten of het gaat
om één enkele directory, dan wel of je je filmpjes in meerdere
directory's hebt ondergebracht en dus een directory wil opgeven bij het
aanroepen van het script. ;)

Vito

unread,
Apr 19, 2016, 11:45:11 AM4/19/16
to
Op 19-04-16 om 16:29 schreef Aragorn:
Voorlopig in één directory maar dat kan veranderen, dus liefst met een
apart in te geven directory

Alvast bedankt op voorhand

Aragorn

unread,
Apr 19, 2016, 11:55:39 AM4/19/16
to
On Tuesday 19 Apr 2016 17:45, Vito conveyed the following to
En mag ik ook de naam weten van die directory? Dan kan ik die gebruiken
als default voor het geval je geen andere directory opgeeft. ;)

Vito

unread,
Apr 19, 2016, 12:18:33 PM4/19/16
to
Op 19-04-16 om 17:55 schreef Aragorn:

>
> En mag ik ook de naam weten van die directory? Dan kan ik die gebruiken
> als default voor het geval je geen andere directory opgeeft. ;)
>

/home/vito/vids/sprokkels

Aragorn

unread,
Apr 19, 2016, 1:00:33 PM4/19/16
to
On Tuesday 19 Apr 2016 18:18, Vito conveyed the following to
be.comp.os.linux...

> Op 19-04-16 om 17:55 schreef Aragorn:
>
>>
>> En mag ik ook de naam weten van die directory? Dan kan ik die
>> gebruiken als default voor het geval je geen andere directory
>> opgeeft. ;)
>>
>
> /home/vito/vids/sprokkels

Hier komt ie... ;)

http://users.telenet.be/stryder/Linux/Shell/filmpje

Ik heb het "filmpje" genoemd, maar je kan het uiteraard een naam geven
naar eigen keuze. Belangrijk is wel dat...:

1. Je het script parkeert in een directory die in je $PATH staat.
Op mijn eigen systeem heb ik $HOME/bin in mijn $PATH staan, en ik
bewaar mijn eigen scripts in die directory.

2. Je het script execute permission geeft voor jezelf. Dat doe je
als volgt...

cd /pad/naar/het/script
chmod u+x filmpje

Ik heb er ook een syntactische helpfunctie ingestoken, zodat je hulp
kunt opvragen over hoe het werkt. In het kort...

filmpje

Speelt een willekeurige video af uit de default directory, en
die staat ingesteld op /home/vito/vids/sprokkels, maar dat kan
je natuurlijk met een text editor gemakkelijk wijzigen.

filmpje -h
filmpje --help

Geeft de syntax weer

filmpje /naam/van/een/directory

Speelt een willekeurige video af uit de opgegeven directory.

Normaal gezien zou hij zelfs overweg moeten kunnen met directory's en
bestanden met spaties in de naam, maar dat heb ik niet getest omdat ik
zelf zo geen directory's op mijn harde schijf heb. ;)

Veel pret ermee. ;)

Lieven Marchand

unread,
Apr 19, 2016, 1:31:57 PM4/19/16
to
Aragorn <thor...@telenet.be.invalid> writes:

> Hier komt ie... ;)
>
> http://users.telenet.be/stryder/Linux/Shell/filmpje

Ik heb iets bijgeleerd. Ik wist niet van het bestaan van shuf
af. Bedankt.

Zelf heb ik al tijden een functie random_file in mijn .bashrc staan. Dus
ik zou gewoon 'vlc $(random_file)' doen.

function random_file()
{
IFS=$'\n'
FILES=($(list_files $1))
NUMBER_OF_FILES=${#FILES[*]}
RANDOM_FILE_NUMBER=$(($RANDOM%$NUMBER_OF_FILES))
RANDOM_FILE="${FILES[$RANDOM_FILE_NUMBER]}"
echo $RANDOM_FILE
}

function list_files()
{
ls -1 "${1:-.}"
}

--
Although the invention of computer science has presented several inconveniences
to mankind - ask ordinary Iraqis what they think of the computers on a cruise
missile -, it offers a great advantage to mathematical pedagogy: a proof is
totally correct if a suitably programmed computer could understand it. Godement

Aragorn

unread,
Apr 19, 2016, 1:48:13 PM4/19/16
to
On Tuesday 19 Apr 2016 19:31, Lieven Marchand conveyed the following to
be.comp.os.linux...

> Aragorn <thor...@telenet.be.invalid> writes:
>
>> Hier komt ie... ;)
>>
>> http://users.telenet.be/stryder/Linux/Shell/filmpje
>
> Ik heb iets bijgeleerd. Ik wist niet van het bestaan van shuf
> af. Bedankt.

/usr/bin/shuf ─ da's waar het geïnstalleerd staat op mijn system ─ komt
normaal gezien geïnstalleerd als onderdeel van de GNU coreutils. Ik
weet niet of er ook een BSD-variant van dit programma is. ;)

> Zelf heb ik al tijden een functie random_file in mijn .bashrc staan.
> Dus ik zou gewoon 'vlc $(random_file)' doen.
>
> function random_file()
> {
> IFS=$'\n'
> FILES=($(list_files $1))
> NUMBER_OF_FILES=${#FILES[*]}
> RANDOM_FILE_NUMBER=$(($RANDOM%$NUMBER_OF_FILES))
> RANDOM_FILE="${FILES[$RANDOM_FILE_NUMBER]}"
> echo $RANDOM_FILE
> }
>
> function list_files()
> {
> ls -1 "${1:-.}"
> }

Da's ook heel interessant, maar zo ver was ik zelf nog niet gevorderd.

Vito

unread,
Apr 19, 2016, 4:07:40 PM4/19/16
to
Op 19-04-16 om 19:00 schreef Aragorn:

> Normaal gezien zou hij zelfs overweg moeten kunnen met directory's en
> bestanden met spaties in de naam, maar dat heb ik niet getest omdat ik
> zelf zo geen directory's op mijn harde schijf heb. ;)
>
> Veel pret ermee. ;)
>

Sorry hoor, maar werkt niet .... of ik nu een dir opgeef of niet VLC
gaat altijd zoeken in /home/vito zoals je op deze foutmelding kan zien:

<quote>
Lezen van bestand mislukt:
VLC kon het bestand "/home/vito/005.mp4" niet openen (Bestand of map
bestaat niet).
Uw invoer kan niet geopend worden:
VLC kon de MRL 'file:///home/vito/005.mp4' niet openen. Controleer het
logboek voor details.
</quote>

Klopt want 005.mp4 staat WEL in /home/vito/vids/sprokkels en dus niet in
m'n $HOME ...

Misschien heeft het iets te maken met het PATH ... heb ik zo in .bashrc
gezet: export PATH=$PATH:$HOME/scripts
het script staat in $HOME/scripts

Dus kort, het script leest wel een random file uit de default directory,
of zelfs in een opgegeven dir, maar VLC gaat ze zoeken in mijn home dir.

Sorry, maar beter kan ik het niet uitleggen :)

Aragorn

unread,
Apr 19, 2016, 4:25:01 PM4/19/16
to
On Tuesday 19 Apr 2016 22:07, Vito conveyed the following to
be.comp.os.linux...

> Op 19-04-16 om 19:00 schreef Aragorn:
>
>> Normaal gezien zou hij zelfs overweg moeten kunnen met directory's en
>> bestanden met spaties in de naam, maar dat heb ik niet getest omdat
>> ik zelf zo geen directory's op mijn harde schijf heb. ;)
>>
>> Veel pret ermee. ;)
>>
>
> Sorry hoor, maar werkt niet .... of ik nu een dir opgeef of niet VLC
> gaat altijd zoeken in /home/vito zoals je op deze foutmelding kan
> zien:
>
> <quote>
> Lezen van bestand mislukt:
> VLC kon het bestand "/home/vito/005.mp4" niet openen (Bestand of map
> bestaat niet).
> Uw invoer kan niet geopend worden:
> VLC kon de MRL 'file:///home/vito/005.mp4' niet openen. Controleer het
> logboek voor details.
> </quote>
>
> Klopt want 005.mp4 staat WEL in /home/vito/vids/sprokkels en dus niet
> in m'n $HOME ...
>
> Misschien heeft het iets te maken met het PATH ... heb ik zo in
> .bashrc gezet: export PATH=$PATH:$HOME/scripts
> het script staat in $HOME/scripts

Heb je na de aanpassing van .bashrc ook uitgelogd en terug ingelogd?

> Dus kort, het script leest wel een random file uit de default
> directory, of zelfs in een opgegeven dir, maar VLC gaat ze zoeken in
> mijn home dir.

Mjah, dan heeft de voorgaande opmerking dus geen zin en zit het bij VLC
zelf.

> Sorry, maar beter kan ik het niet uitleggen :)

Mjah, eerlijkheidshalve moet ik nu zeggen dat ik het niet met VLC
geprobeerd heb omdat ik dat hier niet geïnstalleerd heb staan. Ik heb
het script dus enkel getest op syntactische correctheid.

Wat zegt VLC als je het volgende aan de opdrachtregel ingeeft...?

$ vlc --help

Misschien geeft dat enige uitleg omtrent het waarom van dat gedrag. Als
je die informatie hier kan plakken, dan kan ik het script misschien
aanpassen zodat het alsnog werkt.

Aragorn

unread,
Apr 19, 2016, 4:27:41 PM4/19/16
to
On Tuesday 19 Apr 2016 22:25, Aragorn conveyed the following to
Negeer dit. Ik zie al waar de fout zit. Het ligt wel degelijk aan mijn
script. Ik ga het meteen wijzigen en de nieuwe versie uploaden. Ik
geef je een seintje zodra het klaar is. ;)

Aragorn

unread,
Apr 19, 2016, 4:37:02 PM4/19/16
to
On Tuesday 19 Apr 2016 22:27, Aragorn conveyed the following to
be.comp.os.linux...

> On Tuesday 19 Apr 2016 22:25, Aragorn conveyed the following to
> be.comp.os.linux...
>
>> On Tuesday 19 Apr 2016 22:07, Vito conveyed the following to
>> be.comp.os.linux...
>>
>>> Sorry hoor, maar werkt niet .... of ik nu een dir opgeef of niet VLC
>>> gaat altijd zoeken in /home/vito zoals je op deze foutmelding kan
>>> zien:
>>>
>>> <quote>
>>> Lezen van bestand mislukt:
>>> VLC kon het bestand "/home/vito/005.mp4" niet openen (Bestand of map
>>> bestaat niet).
>>> Uw invoer kan niet geopend worden:
>>> VLC kon de MRL 'file:///home/vito/005.mp4' niet openen. Controleer
>>> het logboek voor details.
>>> </quote>
>>>
>>> Klopt want 005.mp4 staat WEL in /home/vito/vids/sprokkels en dus
>>> niet in m'n $HOME ...
>
> Negeer dit. Ik zie al waar de fout zit. Het ligt wel degelijk aan
> mijn script. Ik ga het meteen wijzigen en de nieuwe versie uploaden.
> Ik geef je een seintje zodra het klaar is. ;)

Okee, verbeterde versie klaar en ge-upload. Nu zou het toch wel moeten
werken. ;)

Vito

unread,
Apr 20, 2016, 11:53:31 AM4/20/16
to
Op 19-04-16 om 22:36 schreef Aragorn:

> Okee, verbeterde versie klaar en ge-upload. Nu zou het toch wel moeten
> werken. ;)
>

OK, het werkt, zowel met default dir als met de opgegeven directory!!

Heel heel heel erg bedankt.

Aragorn

unread,
Apr 20, 2016, 12:30:09 PM4/20/16
to
On Wednesday 20 Apr 2016 17:53, Vito conveyed the following to
be.comp.os.linux...

> Op 19-04-16 om 22:36 schreef Aragorn:
>
>> Okee, verbeterde versie klaar en ge-upload. Nu zou het toch wel
>> moeten werken. ;)
>>
>
> OK, het werkt, zowel met default dir als met de opgegeven directory!!
>
> Heel heel heel erg bedankt.

Ik zal het hem zeggen als ik hem nog eens tegen kom. :p

(Da's een plaatselijk grapje. ;))

Vito

unread,
Apr 20, 2016, 1:44:33 PM4/20/16
to
Op 20-04-16 om 18:30 schreef Aragorn:

>> OK, het werkt, zowel met default dir als met de opgegeven directory!!
>>
>> Heel heel heel erg bedankt.
>
> Ik zal het hem zeggen als ik hem nog eens tegen kom. :p
>
> (Da's een plaatselijk grapje. ;))
>

Er is wel 1 ding dat ik niet begrijp:

# And let's play it in VLC while freeing up the shell again.
#
vlc "${file2play}" &
#

Behalve dat vlc begint te spelen, wat doet de shell dan? Terug naar prompt?

Nu is het zo dat de shell vlc blijft volgen, als de video is afgespeeld
en ik sluit vlc gaat de shell niet naar prompt.
Geen erg en misschien is dat wel normaal ...

Aragorn

unread,
Apr 20, 2016, 2:07:55 PM4/20/16
to
On Wednesday 20 Apr 2016 19:44, Vito conveyed the following to
be.comp.os.linux...

> Op 20-04-16 om 18:30 schreef Aragorn:
>
>>> OK, het werkt, zowel met default dir als met de opgegeven
>>> directory!!
>>>
>>> Heel heel heel erg bedankt.
>>
>> Ik zal het hem zeggen als ik hem nog eens tegen kom. :p
>>
>> (Da's een plaatselijk grapje. ;))
>>
>
> Er is wel 1 ding dat ik niet begrijp:
>
> # And let's play it in VLC while freeing up the shell again.
> #
> vlc "${file2play}" &
> #
>
> Behalve dat vlc begint te spelen, wat doet de shell dan? Terug naar
> prompt?

Normaal gezien zou dat VLC in de achtergrond moeten starten — dat is
waar die ampersand aan het eind voor dient ─ en dus de shell terug
vrijgeven, zodat het script kan eindigen.

Zonder die ampersand blijft het script normaal gezien wachten op het
sluiten van VLC voor het verder loopt.

> Nu is het zo dat de shell vlc blijft volgen, als de video is
> afgespeeld en ik sluit vlc gaat de shell niet naar prompt.
> Geen erg en misschien is dat wel normaal ...

Nee, dat is niet normaal. Dat is zelfs heel vreemd. :-/

Ik heb het script aan het eind nu een expliciet exit commando
meegegeven. Het heeft nu wel een andere naam, maar probeer het nu
eens...?

http://users.telenet.be/stryder/Linux/Shell/random_play

Vito

unread,
Apr 20, 2016, 2:38:17 PM4/20/16
to
Op 20-04-16 om 20:07 schreef Aragorn:
> Nee, dat is niet normaal. Dat is zelfs heel vreemd. :-/
>
> Ik heb het script aan het eind nu een expliciet exit commando
> meegegeven. Het heeft nu wel een andere naam, maar probeer het nu
> eens...?
>
> http://users.telenet.be/stryder/Linux/Shell/random_play
>

Neen, het is nog hetzelfde ....

Aragorn

unread,
Apr 20, 2016, 2:56:30 PM4/20/16
to
On Wednesday 20 Apr 2016 20:38, Vito conveyed the following to
be.comp.os.linux...

> Op 20-04-16 om 20:07 schreef Aragorn:
>> Nee, dat is niet normaal. Dat is zelfs heel vreemd. :-/
>>
>> Ik heb het script aan het eind nu een expliciet exit commando
>> meegegeven. Het heeft nu wel een andere naam, maar probeer het nu
>> eens...?
>>
>> http://users.telenet.be/stryder/Linux/Shell/random_play
>
> Neen, het is nog hetzelfde ....

Mjah, dan weet ik ook niet waaraan het zou kunnen liggen, hoor.
Misschien dat één van de residente guru's enige duidelijkheid kan
bieden?

Vito

unread,
Apr 20, 2016, 3:29:03 PM4/20/16
to
Op 20-04-16 om 20:56 schreef Aragorn:
> On Wednesday 20 Apr 2016 20:38, Vito conveyed the following to
> be.comp.os.linux...
>
>> Op 20-04-16 om 20:07 schreef Aragorn:
>>> Nee, dat is niet normaal. Dat is zelfs heel vreemd. :-/
>>>
>>> Ik heb het script aan het eind nu een expliciet exit commando
>>> meegegeven. Het heeft nu wel een andere naam, maar probeer het nu
>>> eens...?
>>>
>>> http://users.telenet.be/stryder/Linux/Shell/random_play
>>
>> Neen, het is nog hetzelfde ....
>
> Mjah, dan weet ik ook niet waaraan het zou kunnen liggen, hoor.
> Misschien dat één van de residente guru's enige duidelijkheid kan
> bieden?
>

Geeft niet hoor, het script doet wat het voor mij moet doen, dus ik
klaag niet :)

Nogmaals héél héél hard bedankt.

Aragorn

unread,
Apr 20, 2016, 3:51:27 PM4/20/16
to
On Wednesday 20 Apr 2016 21:29, Vito conveyed the following to
be.comp.os.linux...

> Op 20-04-16 om 20:56 schreef Aragorn:
>
>> On Wednesday 20 Apr 2016 20:38, Vito conveyed the following to
>> be.comp.os.linux...
>>
>>> Op 20-04-16 om 20:07 schreef Aragorn:
>>>
>>>> Nee, dat is niet normaal. Dat is zelfs heel vreemd. :-/
>>>>
>>>> Ik heb het script aan het eind nu een expliciet exit commando
>>>> meegegeven. Het heeft nu wel een andere naam, maar probeer het nu
>>>> eens...?
>>>>
>>>> http://users.telenet.be/stryder/Linux/Shell/random_play
>>>
>>> Neen, het is nog hetzelfde ....
>>
>> Mjah, dan weet ik ook niet waaraan het zou kunnen liggen, hoor.
>> Misschien dat één van de residente guru's enige duidelijkheid kan
>> bieden?
>
> Geeft niet hoor, het script doet wat het voor mij moet doen, dus ik
> klaag niet :)

Tjah, maar ergens zal er toch wel een schoonheidsfoutje in zitten, en ik
ben natuurlijk wel nieuwsgierig naar wat dat zou kunnen zijn. ;)

> Nogmaals héél héél hard bedankt.

Graag gedaan, hoor. ;)

Lieven Marchand

unread,
Apr 20, 2016, 4:32:01 PM4/20/16
to
Vito <vi...@invalid.invalid> writes:

> Nu is het zo dat de shell vlc blijft volgen, als de video is
> afgespeeld en ik sluit vlc gaat de shell niet naar prompt.
> Geen erg en misschien is dat wel normaal ...

Werkt voor mij. vlc geeft wel wat output maar als je zelfs terwijl vlc
nog aan het spelen is een enter geeft zou je de shell prompt moeten
zien.

De klassieke manier om chatty programmas in de background te doen
zwijgen is 'vlc <file> > /dev/null 2>&1'

Vito

unread,
Apr 21, 2016, 5:01:32 AM4/21/16
to
Op 20-04-16 om 22:31 schreef Lieven Marchand:

> Werkt voor mij. vlc geeft wel wat output maar als je zelfs terwijl vlc
> nog aan het spelen is een enter geeft zou je de shell prompt moeten
> zien.
>
> De klassieke manier om chatty programmas in de background te doen
> zwijgen is 'vlc <file> > /dev/null 2>&1'
>

Lieven, hier heb je de shell output, start van het filmpje, een tijdje
laten spelen, enter gedrukt, pauze, terug gestart en voor het filmpje
aan't einde was vlc afgesloten .... géén shell-prompt.

[vito@vito49 ~]$ random_play
[vito@vito49 ~]$ VLC media player 2.2.2 Weatherwax (revision
2.2.2-0-g6259d80)
[0000000001c1a148] core libvlc: Vlc draait met de standaardinterface.
Gebruik 'cvlc' om vlc zonder interface te gebruiken.
Failed to open VDPAU backend libvdpau_va_gl.so: kan gedeeld
objectbestand niet openen: Bestand of map bestaat niet
Failed to open VDPAU backend libvdpau_va_gl.so: kan gedeeld
objectbestand niet openen: Bestand of map bestaat niet

Je ziet: geen sluitende prompt.

Ik heb die 'libvdpau_va_gl' ook eens geïnstalleerd maar dat werkte ook
niet goed en gaf nogal wat fouten in de terminal, zodat ik dat terug heb
verwijderd.

Misschien ligt het aan Manjaro, dat is nu eenmaal een wat eigenwijze
distro ...

Wat denk jij?

Vito

unread,
Apr 21, 2016, 5:59:22 AM4/21/16
to
Op 21-04-16 om 11:01 schreef Vito:
Effe dit nog: als ik vlc vanuit terminal start krijg ik na afsluiten wél
een prompt ...

[vito@vito49 ~]$ vlc "/home/vito/vids/sprokkels/001.mp4"
VLC media player 2.2.2 Weatherwax (revision 2.2.2-0-g6259d80)
[0000000001f2f148] core libvlc: Vlc draait met de standaardinterface.
Gebruik 'cvlc' om vlc zonder interface te gebruiken.
Failed to open VDPAU backend libvdpau_va_gl.so: kan gedeeld
objectbestand niet openen: Bestand of map bestaat niet
Failed to open VDPAU backend libvdpau_va_gl.so: kan gedeeld
objectbestand niet openen: Bestand of map bestaat niet
[vito@vito49 ~]$

Aragorn

unread,
Apr 21, 2016, 6:58:26 AM4/21/16
to
On Thursday 21 Apr 2016 11:59, Vito conveyed the following to
be.comp.os.linux...

> Op 21-04-16 om 11:01 schreef Vito:
>
>> [vito@vito49 ~]$ random_play
>> [vito@vito49 ~]$ VLC media player 2.2.2 Weatherwax (revision
>> 2.2.2-0-g6259d80)
>> [0000000001c1a148] core libvlc: Vlc draait met de standaardinterface.
>> Gebruik 'cvlc' om vlc zonder interface te gebruiken.
>> Failed to open VDPAU backend libvdpau_va_gl.so: kan gedeeld
>> objectbestand niet openen: Bestand of map bestaat niet
>> Failed to open VDPAU backend libvdpau_va_gl.so: kan gedeeld
>> objectbestand niet openen: Bestand of map bestaat niet
>>
>> Je ziet: geen sluitende prompt.
>>
>> [...]
>
> Effe dit nog: als ik vlc vanuit terminal start krijg ik na afsluiten
> wél een prompt ...
>
> [vito@vito49 ~]$ vlc "/home/vito/vids/sprokkels/001.mp4"
> VLC media player 2.2.2 Weatherwax (revision 2.2.2-0-g6259d80)
> [0000000001f2f148] core libvlc: Vlc draait met de standaardinterface.
> Gebruik 'cvlc' om vlc zonder interface te gebruiken.
> Failed to open VDPAU backend libvdpau_va_gl.so: kan gedeeld
> objectbestand niet openen: Bestand of map bestaat niet
> Failed to open VDPAU backend libvdpau_va_gl.so: kan gedeeld
> objectbestand niet openen: Bestand of map bestaat niet
> [vito@vito49 ~]$

Oh, maar dit geeft meer duidelijkheid. Ik ging ervan uit dat je het
script vanuit een terminal-venster startte, maar wat je nu toevoegt
wijst er op ─ verbeter me als ik fout ben ─ dat je een soort
"snelkoppeling" op je desktop hebt gemaakt om mijn script aan te roepen.

Als dit het geval is moet je aan die snelkoppeling meegeven dat hij het
terminal-venster moet sluiten nadat het script uitgevoerd is.

Die vdpau toestanden zijn overigens slechts het gezeur van VLC, wat ─
zoals Lieven heeft uitgelegd ─ gemakkelijk naar /dev/null kan gestuurd
worden door die "> /dev/null 2>&1" toe te voegen. Dat kan je overigens
ook in het script zelf doen (maar dan wel _voor_ de ampersand die achter
het vlc commando staat).

Vito

unread,
Apr 21, 2016, 7:34:29 AM4/21/16
to
Op 21-04-16 om 12:58 schreef Aragorn:

>
> Oh, maar dit geeft meer duidelijkheid. Ik ging ervan uit dat je het
> script vanuit een terminal-venster startte, maar wat je nu toevoegt
> wijst er op ─ verbeter me als ik fout ben ─ dat je een soort
> "snelkoppeling" op je desktop hebt gemaakt om mijn script aan te roepen.
>
> Als dit het geval is moet je aan die snelkoppeling meegeven dat hij het
> terminal-venster moet sluiten nadat het script uitgevoerd is.
>
> Die vdpau toestanden zijn overigens slechts het gezeur van VLC, wat ─
> zoals Lieven heeft uitgelegd ─ gemakkelijk naar /dev/null kan gestuurd
> worden door die "> /dev/null 2>&1" toe te voegen. Dat kan je overigens
> ook in het script zelf doen (maar dan wel _voor_ de ampersand die achter
> het vlc commando staat).
>

Ik start het script wel degelijk van uit terminal ... en in het laatste
geval ook vlc vanuit terminal.

Vito

unread,
Apr 21, 2016, 8:20:12 AM4/21/16
to
Op 21-04-16 om 13:34 schreef Vito:

>
> Ik start het script wel degelijk van uit terminal ... en in het laatste
> geval ook vlc vanuit terminal.
>

Ik heb een snelkoppeling op het bureaublad gezet en door dubbelklik het
programma gestart ... gaat meteen naar default dir, speelt met vlc de
vid af.
Maar tot nu toe deed ik het enkel via terminal.

Aragorn

unread,
Apr 21, 2016, 8:25:41 AM4/21/16
to
On Thursday 21 Apr 2016 14:19, Vito conveyed the following to
be.comp.os.linux...

> Op 21-04-16 om 13:34 schreef Vito:
>
>> Ik start het script wel degelijk van uit terminal ... en in het
>> laatste geval ook vlc vanuit terminal.
>
> Ik heb een snelkoppeling op het bureaublad gezet en door dubbelklik
> het programma gestart ... gaat meteen naar default dir, speelt met vlc
> de vid af.
> Maar tot nu toe deed ik het enkel via terminal.

Ik heb het nu nog een keer gewijzigd. Ik heb de verbositeit omgeleid
naar /dev/null en ik heb de ampersand verwijderd. Het is geupload naar
de reeds gekende URL, dus probeer het nu nog eens?

http://users.telenet.be/stryder/Linux/Shell/random_play

Vito

unread,
Apr 21, 2016, 8:44:16 AM4/21/16
to
Op 21-04-16 om 14:25 schreef Aragorn:
Yep!! Doet het perfect nu ... geen rommel meer in de terminal en bij
afsluiten van vlc gaat de terminal meteen naar de prompt.

Lijkt dus dik OK. :)

Aragorn

unread,
Apr 21, 2016, 9:23:55 AM4/21/16
to
On Thursday 21 Apr 2016 14:44, Vito conveyed the following to
be.comp.os.linux...

> Op 21-04-16 om 14:25 schreef Aragorn:
>
>> Ik heb het nu nog een keer gewijzigd. Ik heb de verbositeit omgeleid
>> naar /dev/null en ik heb de ampersand verwijderd. Het is geupload
>> naar de reeds gekende URL, dus probeer het nu nog eens?
>>
>> http://users.telenet.be/stryder/Linux/Shell/random_play
>
> Yep!! Doet het perfect nu ... geen rommel meer in de terminal en bij
> afsluiten van vlc gaat de terminal meteen naar de prompt.
>
> Lijkt dus dik OK. :)

In dat geval verklaar ik versie 1.0 hierbij officieel als stabiel. :p

Vito

unread,
Apr 21, 2016, 9:48:12 AM4/21/16
to
Op 21-04-16 om 15:23 schreef Aragorn:

>
> In dat geval verklaar ik versie 1.0 hierbij officieel als stabiel. :p
>

Daar klinken we op :)

Eddy Wally

unread,
Jun 14, 2016, 3:55:12 AM6/14/16
to
Op 21-04-16 om 15:48 schreef Vito:
> Op 21-04-16 om 15:23 schreef Aragorn:
>
>>
>> In dat geval verklaar ik versie 1.0 hierbij officieel als stabiel. :p
>>
>
> Daar klinken we op :)
>
>

Vito,

Ik weet niet of u deze nog zal lezen maar graag had ik het scriptje ook
willen gebruiken voor demo van filmpjes in een winkel.
Er zou een kleine aanpassing moeten gebeuren om dit te kunnen gebruiken.

Dus als je dit script opstart start hij direct een willekeurig filmpje
die in deze bepaalde map staat. Perfect.
Alleen zou ik dan willen dat hij dit scriptje herhaald, dus als het
filmpje gedaan is direct een ander willekeurig filmpje start. Dat hij
eigenlijk dit scriptje in een loop oneindig verder uitvoert.

Wat zou ik daarvoor moeten aanpassen in dat scriptje?


Alvast bedankt voor de hulp,
Groeten
Eddy


wimpunk

unread,
Jun 14, 2016, 5:08:03 AM6/14/16
to
Werkt iets als dit niet?

while /bin/true
do ./scriptje
done


met scriptje de naam van het script.



Aragorn

unread,
Jun 14, 2016, 10:07:48 AM6/14/16
to
On Tuesday 14 Jun 2016 10:31, wimpunk conveyed the following to
be.comp.os.linux...

> On 06/14/2016 09:55 AM, Eddy Wally wrote:
>
>> Op 21-04-16 om 15:48 schreef Vito:
>>
>>> Op 21-04-16 om 15:23 schreef Aragorn:
>>>
>>>> In dat geval verklaar ik versie 1.0 hierbij officieel als stabiel.
>>>> :p
>>>
>>> Daar klinken we op :)
>>
>> Ik weet niet of u deze nog zal lezen maar graag had ik het scriptje
>> ook willen gebruiken voor demo van filmpjes in een winkel.
>> Er zou een kleine aanpassing moeten gebeuren om dit te kunnen
>> gebruiken.
>>
>> Dus als je dit script opstart start hij direct een willekeurig
>> filmpje die in deze bepaalde map staat. Perfect.
>> Alleen zou ik dan willen dat hij dit scriptje herhaald, dus als het
>> filmpje gedaan is direct een ander willekeurig filmpje start. Dat hij
>> eigenlijk dit scriptje in een loop oneindig verder uitvoert.
>>
>> Wat zou ik daarvoor moeten aanpassen in dat scriptje?
>>
>>
>> Alvast bedankt voor de hulp,
>
> Werkt iets als dit niet?
>
> while /bin/true
> do ./scriptje
> done
>
> met scriptje de naam van het script.

Dat zou normaal gezien inderdaad moeten werken. Je kan overigens ook
een functie toevoegen aan je $HOME/.bashrc, iets als...

loopfilmpje ()
{
while /bin/true
do $HOME/bin/scriptje
done
}

... wat natuurlijk vereist dat het scriptje zelf in je $HOME/bin staat
geparkeerd ─ gelieve de locatie van het script dus aan te passen aan de
omstandigheden. ;)

Natuurlijk moet je dan na het toevoegen van die functie aan je .bashrc
ook je .bashrc éénmalig terug inlezen, en dat doe je als volgt...

$ . ~/.bashrc

of...

$ source ~/.bashrc

Of je kan ook gewoon even uitloggen en terug inloggen. (Dit hoef je ook
slechts één keer te doen, maar als je hem "source't" hoeft dit zelfs
helemaal niet.)

En dan start je de loop gewoon met...

$ loopfilmpje

;)

Lieven Marchand

unread,
Jun 14, 2016, 2:13:16 PM6/14/16
to
Aragorn <thor...@telenet.be.invalid> writes:

>
> Dat zou normaal gezien inderdaad moeten werken. Je kan overigens ook
> een functie toevoegen aan je $HOME/.bashrc, iets als...
>
> loopfilmpje ()
> {
> while /bin/true
> do $HOME/bin/scriptje
> done
> }

En voor de volledigheid, true is een shell builtin dus je kan gewoon

while true

doen.

wimpunk

unread,
Jun 15, 2016, 3:08:03 AM6/15/16
to
On 06/14/2016 08:17 PM, Lieven Marchand wrote:
> Aragorn <thor...@telenet.be.invalid> writes:
>
>>
>> Dat zou normaal gezien inderdaad moeten werken. Je kan overigens ook
>> een functie toevoegen aan je $HOME/.bashrc, iets als...
>>
>> loopfilmpje ()
>> {
>> while /bin/true
>> do $HOME/bin/scriptje
>> done
>> }
>
> En voor de volledigheid, true is een shell builtin dus je kan gewoon
>
> while true
>
> doen.
>

Tenzij je bijvoorbeeld tcsh gebruikt, maar dan zal de while loop zoals
hier ook niet werken...

Eddy Wally

unread,
Jun 15, 2016, 7:04:54 AM6/15/16
to
Bedankt voor alle hulp, die while enz werkt perfect. Alleen zit er
blijkbaar nog een foutje in het origineel scriptje:

Dus het scriptje start een willekeurig filmpje op vanuit een bepaalde
map. Tot zover alles OK, maar als hij gedaan heeft sluit hij de vlc
player niet af en zolang vlc niet afgesloten is wil hij niet opnieuw
beginnen. Als je dan zelf vlc afsluit doet die while z'n werk en begint
hij direct het volgend willekeurig filmpje te starten.

Alvast bedankt
Eddy



Aragorn

unread,
Jun 15, 2016, 10:03:59 AM6/15/16
to
On Wednesday 15 Jun 2016 13:04, Eddy Wally conveyed the following to
be.comp.os.linux...
Tjah, volgens mij er is maar één manier waarmee je dat ad hoc kan
oplossen, maar dat is wel nogal een radicale: wijzig de functie als
volgt...

loopfilmpje ()
{
while true
do
$HOME/bin/scriptje
killall vlc
done
}

En dan moet je nadien natuurlijk .bashrc terug source'n ─ tenminste, als
je die functie aan .bashrc hebt toegevoegd.

Disclaimers:

° Ik heb dit niet getest, maar het zou normaal wel moeten lukken.

° Als je meerdere VLC sessies tegelijk open hebt onder dezelfde user
account, worden deze _allemaal_ gekill'd.

Het is misschien op een elegantere manier op te lossen, maar het
probleem is natuurlijk dat dit scriptje niet bedoeld was om te worden
gebruikt zoals jij dat doet, en momenteel heb ik niet echt de tijd om
een nieuw script te schrijven. :-/

Lieven Marchand

unread,
Jun 15, 2016, 10:09:17 AM6/15/16
to
In dit specifieke geval is dat scriptje zelfs niet nodig. vlc heeft een
optie -Z

-Z, --random, --no-random Play files randomly forever (default disabled)

Anders kan je in scriptje vlc de optie --play-and-exit doorgeven.

Aragorn

unread,
Jun 15, 2016, 11:33:06 AM6/15/16
to
On Wednesday 15 Jun 2016 16:13, Lieven Marchand conveyed the following
Da's ook handig om weten. Zoals ik al eerder zei heb ik VLC hier niet
eens geïnstalleerd staan ─ het is al een oudere distributie ─ en dus
weet ik niet eens welke opties het ondersteunt. ;)

De enige twee videospelers die ik hier geïnstalleerd heb staan zijn
Dragon Player (wat bij KDE4 hoort) en Totem (wat een GTK ding is). ;)

Eddy Wally

unread,
Jun 16, 2016, 7:23:33 AM6/16/16
to
Op 15-06-16 om 17:33 schreef Aragorn:
Bedankt voor beide opties, ik zal deze van zodra ik tijd heb eens testen.


0 new messages