Skip to content

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Openbox exit prevents docker image from running #8

Closed
samuelhackwill opened this issue Apr 12, 2024 · 8 comments
Closed

Openbox exit prevents docker image from running #8

samuelhackwill opened this issue Apr 12, 2024 · 8 comments

Comments

@samuelhackwill
Copy link

Hello!

(context) I came across joonas' blog post while doing some research about multi-pointer interfaces for a theatre performance i'm currently working on (I want every member of the audience to have a mouse and to be able to interact with a big screen). Thank you for sharing your research!

However, we did not manage to get the VNC server running. we tried three methods :

  • first, we tried running the docker image on a raspberry pi 3B+, on a fresh install of raspbian (Raspberry Pi OS 6.6), but we got an error because the docker image was intended for use on a AMD/64 machine and the raspberry is ARM.
  • then we tried running the docker image on a PC running GNU/Linux, I don't remember the distro but probably an oldish (18.04?) version of Ubuntu. We did not manage to get the docker image running, the logs show that Openbox exits, which causes the image to stop.
  • we then tried running older versions of the docker image on the same machine, and this time we did get the container to run, but localhost:80 showed an empty input, and the logs of docker contained an error related to a missing .Xauthority file. We tried manually creating an .Xauthority file to no avail either.

I'm not sure which problem would be easiest to solve, could you please give us a hint to what we could try next?
Please forgive me if my wording is a bit vague, i used my colleague's computer and have no access to the logs at this time.

thank you for your time! :)

@joonas-fi
Copy link
Member

joonas-fi commented Apr 13, 2024

Hey!

It is true there is no arm64 version, as I've not needed it.

Seems to work out of the box, the most recent version. I used this command:

docker run -d --name screen-server -p 80:80 --shm-size 512m -e "SCREEN_1=5900,800,1280,Galaxy Tab 2" fn61/screen-server:20240121_1530_c8d20f9d

but localhost:80 showed an empty input

Is it possible that you might get confused by the particular screen being all transparent? That shows on the webpage as white, so in the beginning the frontpage is just the heading "Galaxy Tab 2" because remember this is meant to host multiple screens and so frontpage has this structure:

  • Screen 1
    • name as heading
    • content
  • Screen 2
    • name as heading
    • content

See, this is from most recent version:

Peek.2024-04-13.18-38.mp4

So one has to click on the thumbnail (all white, I agree it's sucky UX!) to open the web-based VNC viewer. Another alternative is to just use VNC without the webpage.

@joonas-fi
Copy link
Member

Seems like adding multi-arch images (ARM 64 & 32 bit) was not a pain at all. Please test if you can! #9

@samuelhackwill
Copy link
Author

Dear Jonas,
Thank you for your kind answers. I was absolutely confused and i absolutely got the last image (the multi-platform one) working (on XUbuntu 20.4.3 running on an USB key). That's awesome! I will experiment with the mouse events forwarding next. I must report that i did not manage to run the image on my raspberry pi though, i'm still getting an exec format error. thank you!

@joonas-fi
Copy link
Member

Great that got you forward!

The multi-arch build had a bug, turns out it was a bit more work but not bad still. The above mentioned PR has an update, if you have time please try again

@samuelhackwill
Copy link
Author

samuelhackwill commented Apr 15, 2024

I tested the new image on my Raspberry Pi 3B+ running on Raspbian 6.6, it's working! thank you :))

also : adding --security-opt seccomp=unconfined to the docker run command solved the openbox error that i was getting on my other computer. I guess it's not good practice though, i copypasted it from here.

@samuelhackwill
Copy link
Author

However, i haven't managed to pass the mouse events to x11vnc yet. I might be misunderstanding how it's supposed to work :

what i expected was my mouse to stop being responsive (being "grabbed") as soon as i launched the docker image with the proper flag (--device /dev/input/by-id/<mouse>). I was also kind of expecting a second mouse pointer to appear in the vnc preview window, but neither happened. Instead my mouse continued to work as usual. I also tried passing my usb keyboard, but that did not seem to work either.

in both cases, using cat from inside the container, as suggested in the blog post, did show symbols being printed as i interacted with the relevant usb device (mouse or keyboard), which suggests the code is working! .. So i'm probably not testing the right way.

thank you for your help, i appreciate it.

@joonas-fi
Copy link
Member

also : adding --security-opt seccomp=unconfined to the docker run command solved the openbox error that i was getting on my other computer

Now that you mention it, this worked without the seccomp flag on my work computer, but on my other computer I also had to use that flag.. maybe the need for it is fixed in updated Docker versions or such (I have 24.0.5 on where I don't need the flag, 20.10.7 where I need it)

@joonas-fi
Copy link
Member

Anyways, converting to discussion as the discussion no longer concerns openbox or a bug in screen-server

@function61 function61 locked and limited conversation to collaborators Apr 16, 2024
@joonas-fi joonas-fi converted this issue into discussion #10 Apr 16, 2024

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants