Noob Linux vraag
9 april 2021 - 13:19   
geplaatst door: boiing
Aangezien hier genoeg Linux goeroe's rondhangen moet dit toch lukken :wink:..

Ik heb een Raspberry met DietPi en moet om een audio add-on aan de praat te krijgen dit doen:

https://www.hifiberry.com/docs/software/using-the-dac-dsp-to-record-audio-from-s-pdif/

Dat eerste deel is geen probleem maar dan:

Citaat
The easiest way is to download this small script and run it.
Een simpele beginnersvraag dus, ik ben best handig met die Raspberry's, weet hoe ik de boel moet installeren, kan door het bestandssysteem navigeren en 'nano' lukt ook. Het script (zie hier) kan ik dus copy-pasten in een nano bestand, kan het bewaren etc.. De vraag: welke naam (of eigenlijk extensie) geef ik het en nog belangrijker, hoe voer ik dit script nu eenmalig uit? Als ik het bewaar als 'routing' en dit als commando ingeef krijg ik '-bash: routing: command not found' terug.

Help :blush:...
Noob Linux vraag
9 april 2021 - 13:48    reactie #1
geplaatst door: fred44nl
om te beginnen moet het bestandje uitvoorbaar gemaakt worden met chmod 777.
als je dan ls -al doet, dan moet de letter x er bijstaan.
dus niet alleen r of w.
daarna moet je het commando geven ./routing
Linux volgt bij opdrachten altijd het pad zoals staat in PATH
maar kijkt niet in de actuele folder/map
 MacBook Air (2020) - 13" - i7 - 256 GB SSD -  Catalina
Noob Linux vraag
9 april 2021 - 13:51    reactie #2
geplaatst door: boiing
Ok, dat ga ik zo proberen, dank alvast.. Wat is een gebruikelijke plek om dit soort dingen neer te zetten, is er een standaard folder?
Noob Linux vraag
9 april 2021 - 13:52    reactie #3
geplaatst door: fred44nl
Ok, dat ga ik zo proberen, dank alvast.. Wat is een gebruikelijke plek om dit soort dingen neer te zetten, is er een standaard folder?

oefenen doe ik altijd in mn eigen download folder
 MacBook Air (2020) - 13" - i7 - 256 GB SSD -  Catalina
Noob Linux vraag
9 april 2021 - 13:53    reactie #4
geplaatst door: boiing
..in Linux bedoel ik?
Noob Linux vraag
9 april 2021 - 13:54    reactie #5
geplaatst door: fred44nl
..in Linux bedoel ik?
ja,ja, ook daar heb je een eigen omgeving, met folders, die je zelf kan aanmaken, als ze er niet zijn, want dat verschilt per distributie
 MacBook Air (2020) - 13" - i7 - 256 GB SSD -  Catalina
Noob Linux vraag
9 april 2021 - 14:00    reactie #6
geplaatst door: boiing
Ik blader daar wel een doorheen en dan vliegen de /bin /var /etc en /usr folders om m'n oren maar heb eigenlijk nooit het gevoel ontwikkeld wat waarvoor dient en wat gebruikelijk is om zelf in te klooien. Maar goed, dat is minder belangrijk op dit moment :wink:. Ik ga je tip even proberen!
Noob Linux vraag
9 april 2021 - 14:16    reactie #7
geplaatst door: boiing
om te beginnen moet het bestandje uitvoerbaar gemaakt worden met chmod 777 ... daarna moet je het commando geven ./routing
Ok, that did the trick :thumbs-up:. Weer wat geleerd, hartelijk dank!
Noob Linux vraag
9 april 2021 - 14:28    reactie #8
geplaatst door: puk1980
Alternatief: (ipv x bitje aanzetten) het script expliciet met een shell runnen.

sh ./routing


Iets met mosterd en maaltijd. :wink:
Noob Linux vraag
9 april 2021 - 14:30    reactie #9
geplaatst door: boiing
Hoort gewoon bij de maaltijd hoor, thanks! Oók handig om te weten :shakehands:.
Noob Linux vraag
9 april 2021 - 14:36    reactie #10
geplaatst door: boiing
Is het gebruikelijk om een shell script een .sh extensie te geven? Want het hoeft blijkbaar niet om het uit te voeren.
Noob Linux vraag
9 april 2021 - 14:49    reactie #11
geplaatst door: puk1980
Nee, de meeste shell scripts hebben geen (expliciete) extensie. Soms als ze bv ergens ter download worden aangeboden wordt het gebruikt om aan te geven dat het een shell script is.

Een shell script is niets anders dan een tekstbestandje met commando's die door de shell uitgevoerd worden. Op de eerste regel kan nog staan met welke shell (er zijn er diverse) het script uitgevoerd dient te worden.

#!/bin/sh
Noob Linux vraag
9 april 2021 - 15:03    reactie #12
geplaatst door: mcmt
Dezelfde tips zijn trouwens ook bruikbaar binnen de Mac terminal, zoals je merkt. Je kan daar zelfs het script uitvoeren (maar met de foutmelding dat het 'dsptoolkit' commando niet gekend is).
Noob Linux vraag
9 april 2021 - 15:07    reactie #13
geplaatst door: boiing
Helder! Dank beiden. Meestal kom ik er googelend wel uit maar met Linux mis ik soms nog een paar 'basics' :wink:. En inderdaad, ook handig op de Mac zelf.
Noob Linux vraag
9 april 2021 - 15:54    reactie #14
geplaatst door: MacFrankie
Dit soort zaken zijn standaard Unix, ook bruikbaar in Linux en macOS.

Het uitvoerbaar maken doe ik overigens in eerste instantie alleen voor mijzelf:
chmod u+x routing

Dat werkt als je script "routing" heet...

De u staat voor user, daarnaast heb je g voor group en de a voor all.
De + staat voor toevoegen (weghalen kan met -).
De x staat voor executable, daarnaast heb je r voor read en w voor write.

Drie settings read, write en execute, voor drie niveaus gebruiker, groep en iedereen.
Read is 4, write is 2 en execute is 1. Tel op om alles te zetten. Met 7 heb je dus alle rechten. Met "chmod 777" geef je jezelf, de groep en iedereen alle rechten. Dat is gewoonlijk niet de bedoeling!
Op mijn werk heb ik al Windows, thuis wil ik geen systeembeheerder meer zijn!
Noob Linux vraag
9 april 2021 - 15:57    reactie #15
geplaatst door: puk1980
Prima uitleg van MacFrankie!  :smile:
Noob Linux vraag
9 april 2021 - 15:59    reactie #16
geplaatst door: MacFrankie
Je bent me een seconde voor, had het gecorrigeerd, en ik zag dat jij tegelijk had gereageerd.

Edit:
Deze reactie lijkt vreemd, maar ik had een fout gemaakt, en Puk wees me erop, maar tegelijk had ik de fout gecorrigeerd. Daarop had Puk z'n opmerking aangepast...
Op mijn werk heb ik al Windows, thuis wil ik geen systeembeheerder meer zijn!
Noob Linux vraag
9 april 2021 - 16:01    reactie #17
geplaatst door: puk1980
 :thumbs-up:
Noob Linux vraag
9 april 2021 - 16:05    reactie #18
geplaatst door: boiing
Wat dachten jullie, meteen maar door met de lessen voor gevorderden :happy:? Van rechten enzo heb ik wel een klein beetje kaas gegeten (ook door de Mac natuurlijk) maar dat je met +x een bestand uitvoerbaar maakt was nieuw voor me. Dit zet alles wel meer in z'n verband! Ik begrijp dat het mooier kan dan zomaar '777', maar het gaat in dit geval om een lokale Raspberry zonder user accounts, gewoon inloggen als root en gaan :thumbs-up:. Is ook niet zo netjes geloof ik, maar dit moet gewoon werken en verder niks.

Het gaat trouwens om een Raspberry 3 met een HiFiBerry print erop die een Toslink signaal van een oude Sony CD wisselaar lossless in een Roon netwerk moet zetten via een Roon Entrypoint/Icecast. Dus jullie hulp heeft wel zin :biggrin:!

(Maar boiing: die CD's kun je toch gewoon digitaliseren?! Ja, dat kan ook. Maar dit is veel leuker :happy:)
Bewerkt: 9 april 2021 - 16:25 door boiing
Noob Linux vraag
9 april 2021 - 17:36    reactie #19
geplaatst door: MacFrankie
Zeker boiing, dit lijkt op een hobby, en hobby's zijn leuk!
Op mijn werk heb ik al Windows, thuis wil ik geen systeembeheerder meer zijn!
Noob Linux vraag
9 april 2021 - 18:07    reactie #20
geplaatst door: boiing
Absoluut! Dit is deels als nostalgie voor de CD (hier een prachtig stukje historie - meerdere pagina's - van deze briljante uitvinding) en deels 'omdat het kan'.

Het verhaal gaat nog iets verder: eigenlijk begon het een tijd geleden met de uitdaging deze oude CD wisselaars zelf aan te sturen, uiteindelijk met eigen software of een XCode app. 'Vroeger' had je een interface voor die dingen maar die heb ik ooit weggegooid en is niet meer te krijgen, laat staan aan een moderne Mac te hangen. Zelf doen dus: het Sony S-Link protocol met een hoop gegoogle en aanpassingen in een Arduino gegoten en uiteindelijk 2-weg communicatie voor elkaar gekregen naar de spelers (het zijn er 3..). Ben nu nog bezig met het switchen van de 3 toslink outputs (ook zelf maken) en de audio lossless in Roon krijgen. De spelers zijn namelijk vrij fors en staan dus verdekt opgesteld in een studeerkamer. Maar het geluid moet wel maximaal van kwaliteit zijn, vandaar het begin van deze post.

Kortom, een volkomen zinloos langlopend project maar oh zo leuk om doen :cool:.
Noob Linux vraag
9 april 2021 - 18:18    reactie #21
geplaatst door: puk1980
Dit is deels als nostalgie voor de CD (hier een prachtig stukje historie - meerdere pagina's - van deze briljante uitvinding) ...

Dat is het zeker!  Hier nog een stukje historie over een van de uitvinders.

Citaat
Zo bedacht hij dat je de informatie op een videoplaat, de voorloper van de compact disc, moest uitlezen door een transparante laag kunststof heen. Stofjes, krasjes en sporen van vette vingers konden op deze manier minder kwaad.

Het verhaal gaat dat Bouwhuis zijn idee zo voor de hand vond liggen dat hij er niet eens patent op wilde aanvragen. Dat heeft zijn groepsleider Piet Kramer toen voor hem gedaan. Vandaar dat niet Bouwhuis’ maar Kramers naam als eerste op het octrooi prijkt. Met name dit door-de-plaat-patent zorgde er in 1980 voor dat de verdeling van de cd-royalty’s veel gunstiger uitviel voor Philips dan voor Sony.

Heeft Philips jarenlang heel wat geld mee verdiend, dit patent.
Noob Linux vraag
9 april 2021 - 18:37    reactie #22
geplaatst door: boiing
Mooie link, Bouwhuis kende ik niet maar dat idee - het uitlezen dóór de laag - was inderdaad een van de revolutionaire dingen van de CD. Lou Ottens overleed onlangs, was er ook bij betrokken.

Prachtig dat soort bescheiden mannen die aan de basis van grote uitvindingen hebben gestaan.
Noob Linux vraag
9 april 2021 - 18:54    reactie #23
geplaatst door: jaco123
Wat dachten jullie, meteen maar door met de lessen voor gevorderden :happy:? Van rechten enzo heb ik wel een klein beetje kaas gegeten (ook door de Mac natuurlijk) maar dat je met +x een bestand uitvoerbaar maakt was nieuw voor me. [

nog een gratis tip, bijna alle unix/linux-commando's zijn keurig gedocumenteerd in zgn "man-pages" (wat afkorting is van Manual pages).
Bijna elke man-page heeft naast een complete toelichting van alle opties ook onderin een kopje met Examples.

Lees in dit geval dus gerust de handleiding er op na middels het commando:

man chmod

Als je niet precies weet welk commando je nodig hebt is er nog een mooie optie:

man -k <keyword>

Als je bijvoorbeeld "man -k permissions" intypt, krijg je een lijstje van alle commando's die iets met permissions te maken hebben.

Zo, daar moet je wel even mee vooruit kunnen toch?
Noob Linux vraag
9 april 2021 - 19:21    reactie #24
geplaatst door: Jakko W
Het uitvoerbaar maken doe ik overigens in eerste instantie alleen voor mijzelf:
chmod u+x routing
Dat wilde ik ook net zeggen. Veel handiger dan alle bits aanzetten en op die manier bijvoorbeeld onbedoeld een bestand voor de hele wereld lees- en schrijfbaar maken.

Is het gebruikelijk om een shell script een .sh extensie te geven? Want het hoeft blijkbaar niet om het uit te voeren.
Nee, extensies zijn een Windows-ding (eigenlijk een CP/M-ding, dat Windows via MS-DOS geërfd heeft) dat een Unix-systeem in principe totaal niet nodig heeft. Ze dienen daar eigenlijk alleen om aan mensen duidelijk te maken om welk soort bestand het gaat, zodat je je niet af hoeft te vragen of het bestand Vakantie Frankrijk 2012 een foto is, een filmpje, of misschien een getypt verslag.