1

I am trying to create an automated monitoring system that other people can see but cannot do commands.

I have a problem where the user is automatically connected to a screen where the monitoring is happening but they can close the screen.

I would like some way so that any user except root to have their keyboard disabled.

5
  • do you want it to make users just check mail or something like that?
    – poz2k4444
    Oct 8, 2012 at 20:53
  • I run a Siri Proxy but I need other people to monitor it so I am trusted with that the proxy does. Oct 8, 2012 at 21:08
  • So, you just want other people run a specific application?
    – poz2k4444
    Oct 8, 2012 at 21:31
  • Yes, I have setup, so when the user logs in they are automatically connected to a screen. The script runs "screen -x root/" All I need it to do is stop the keyboard from typing and make them control the screen. Oct 8, 2012 at 22:29
  • @MuktadirMiah I added screen-related stuff to my answer
    – wnrph
    Oct 9, 2012 at 10:38

1 Answer 1

0

Screen-based solution

You can configure screen to open a window, share the session and write-lock it for USER on startup. Put the following commands in your .screenrc:

screen 1
multiuser on
aclchg <USER> +x detach
writelock on

This prevents the USER from executing any commands except detach (so he can log-off).

X-based solution

You can expose your X display read-only via vnc

x11vnc -viewonly -display :0

where :0 is the display number. You can also create an X server by the -create option.

On the ordinary user accounts you can start up all X sessions with the vnc client as the only program.

2
  • Do you know any way to make user connect to the screen as soon as they log in? And make it automatically run the "multiuser on.." when I make a new screen e.g. I make a new screen by typing "screen -S 1234" Then the "multiuser on", "aclchg <USER> -x ?", etc runs automatically. Oct 9, 2012 at 17:00
  • You can put the commands into root's .screenrc. For the user append the lines screen -x root/ and logout to the .bash_login and make sure bash is the login shell for the user (usermod $USER -s /bin/bash). If you like the answer, you can also vote it up.
    – wnrph
    Oct 9, 2012 at 18:14

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .