Avatar billede 3xm Nybegynder
11. august 2006 - 23:00 Der er 4 kommentarer

ingen lyd når jeg logger på via vnc

Lad mig starte med at gøre det klart at jeg er totalt nybegynder med Linux, så vær søde at skære tingene lidt ud i pap. Jeg har dog en rimelig grundlæggende forståelse, så det skal ikke skæres så meget ud som fx. at fortælle mig hvordan jeg åbner en terminal og den slags.


Nå, til problemet:

Jeg har lige installeret Fedora på en gammel maskine som jeg har tænkt mig at bruge som server og den slags ligegyldigheder. En af de ting jeg gerne vil med den er at bruge den som jukebox. Altså sætte den til at spille musik. Hvis jeg sætter mig ved selve computeren og logger ind kan jeg fint afspille musik. Lyden virker. Der er også et højttalerikon jeg kan trykke på og alt det der. Men da jeg gerne vil have den til at stå pakket væk i et skab  var planen at styre den fra mine andre computere via VNC.

Men når jeg logger ind på den fra en anden computer via VNC så mangler lyden. Der er ikke nogethøjttalerikon eller noget som helst. Og når jeg prøver at afspille noget lyd får jeg en fejl om at den ikke kan afspille lyd. Jeg får vist også en fejl om at den ikke kan finde noget 'audio device' når den (session) starter.

Jeg kan godt se at det giver god mening som standard at slå lyden fra for brugere der ikke fysisk sidder ved computeren, men det må da være muligt at slå det til så jeg kan fjernstyre den med lyd også. Det virker hvis jeg logger ind på maskinen og så VNC'er til den session, men det er ikke rigtigt fedt, synes jeg.

Kan nogen hjælpe?

Kan det være en eller anden linje der skal tilføjes til VNC-konfigurationsfilen for den VNC-server der bliver startet når maskinen booter?

Er jeg helt på vildspor?


ARGH!

=)
Avatar billede serverservice Praktikant
07. september 2006 - 23:19 #1
Hej 3xm - jeg har selv brugt lidt tid på vnc til linux og mener du skal se på mulighederne i selve scriptet
Det er noget som jeg i sin tid af strych9 og helgec
http://helgec.dk/vncserverlinux.html
Avatar billede serverservice Praktikant
07. september 2006 - 23:29 #2
svar hvis du kan bruge det - ellers afviser du bare
Avatar billede 3xm Nybegynder
11. september 2006 - 18:31 #3
Danny, så vidt jeg kan se står der på den side du linker til intet om hvordan jeg får lyden til at virke..?

Jeg har ikke problemer med at få VNC til at virke. Mit problem er at få LYDEN til at virke.

=)
Avatar billede serverservice Praktikant
12. september 2006 - 17:59 #4
ups - troede det var mere simpelt end det umiddelbart lød - men måtte google lidt- det ser meget nørdet ud så er du advaret.

Præv lige først om der er nogen forskel hvis du logger på via http://ipadr:5800 - hvis din default port er 5800

ellers er der her en konfig af lyd i vnc http://www.karlrunge.com/x11vnc/#faq-sound
Q-102: How can I hear the sound (audio) from the remote applications on the desktop I am viewing via x11vnc?

You will have to use an external network audio mechanism for this. Audio is not part of the VNC protocol.

We show a simple Unix to Unix esd example here (artsd should be possible too, and perhaps even one or both of these have been ported to Windows so you can redirect the sound there).

First you will need a tunnel to redirect the audio from the remote machine to the one you sitting at. We use an ssh tunnel:

  sitting-here> ssh -C -R 16001:localhost:16001 far-away.east

Or one could combine this with the VNC tunnel at the same time, e.g.:

  sitting-here> ssh -C -R 16001:localhost:16001 -L 5900:localhost:5900 far-away.east 'x11vnc -localhost -display :0'

Port 16001 is the default ESD uses. So when an application on the remote desktop makes a sound it will connect to this tunnel and be redirected to port 16001 on the local machine (sitting-here in this example). The -C option is an attempt to compress the audio a little bit.

So we next need a local (sitting-here) esd daemon running that will receive those requests and play them on the local sound device:

  sitting-here> esd -promiscuous -port 16001 -tcp -bind 127.0.0.1

See the esd(1) man page for the meaning of the options (the above are not very secure).

To test this sound tunnel, we use the esdplay program to play a simple .wav file:

  far-away> esdplay -s localhost:16001 im_so_happy.wav

If you hear the sound (Captain Kirk in this example), that means you are in great shape.

To run individual audio applications you can use the esddsp(1) command:

  far-away> esddsp -s localhost:16001 xmms

Then you could try playing some sounds inside xmms. You could also set the environment variable ESPEAKER=localhost:16001 to not need to supply the -s option all the time. (for reasons not clear, sometimes esddsp can figure it out on its own). All the script esddsp does is to set ESPEAKER and LD_PRELOAD for you so that when the application opens the sound device (usually /dev/dsp) its interactions with the device will be intercepted and sent to the esd daemon running on sitting-here (that in turn writes them to the real, local /dev/dsp.

Redirecting All sound:

It does not seem to be possible to switch all of the sound of the remote machine from its sound device to the above esd+ssh tunnel without some preparation. But it can be done reasonably well if you prepare (i.e. restart) the desktop with this in mind.

Here is one way to redirect all sound. The idea is we run the entire desktop with sound directed to localhost:16001. When we are sitting at far-away.east we run "esd -promiscuous -port 16001 -tcp -bind 127.0.0.1" on far-away.east (to be able to hear the sound). However, when we are sitting at sitting-here.west we kill that esd process and run that same esd command on sitting-here.west and start up the above ssh tunnel. This is a little awkward, but with some scripts one would probably kill and restart the esd processes automatically when x11vnc is used.

So next we have to run the whole desktop pointing toward our esd. Here is a simple way to test. Log in to the machine via the "FailSafe" desktop. Then in the lone terminal type something like:

  esddsp -s localhost:16001 gnome-session
or:
  esddsp -s localhost:16001 startkde

where the last part is whatever command starts your desktop (even fvwm2). This causes the environment variables ESPEAKER and LD_PRELOAD to be set appropriately and every application (processes with the desktop as an ancestor) will use them. If this scheme works well you can make it less klunky by adding the command to your ~/.xsession, etc. file that starts your default desktop. Or you may be able to configure your desktop to use localhost:16001, or whatever is needed, via a gui configuration panel.

Sorry for min impulsive indlæg i første omgang - men håber den er reddet hjem nu. *s
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester