Solved

Simulate keystroke

Posted on 1998-11-24
8
673 Views
Last Modified: 2013-12-27
Hi

We have UNIX, Solaris 2.5, ordinary lock screen software
and a service department who always re-boot our machines
at the night. This re-boot does not occur if a user is
working during the night.
I want to simulate an user activity on the
machine ( a check with rusers -l could not tell the
difference ).

This simulation must work even when the lock screen function
is activated.

Is there a way? For example, putting the "shift key"
into the "real" keyboard buffer to simulate keystrokes?



Regards
0
Comment
Question by:qcord
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
8 Comments
 
LVL 51

Expert Comment

by:ahoffmann
ID: 2008037
hmm, this will be hard 'cause you have to simulate an interrupt.

Never tested this, but try:

    echo -n ' ' >/dev/your_kbd_device
0
 

Author Comment

by:qcord
ID: 2008038

Well, the only device I had under /dev was /dev/kdb, I tried this
program

#!/bin/ksh

while [ "hello" != "there" ] ; do
   echo -n >/dev/kdb
   sleep
done



but it did not work so I reopen the question

Regards


0
 
LVL 51

Expert Comment

by:ahoffmann
ID: 2008039
you need to echo at least on char (see my comment ;-)
0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

Author Comment

by:qcord
ID: 2008040

I checked the man pages of echo, according to them only
csh and /usr/ucb/echo does have the -n flag so I changed the
progam into

#!/bin/ksh

while [ "hello" != "there" ] ; do
   /usr/ucb/echo -n ' ' >/dev/kdb
   sleep 10
done


But it still does not give the desired effect.
( which is to simulate an active user ).

Regards


0
 
LVL 84

Expert Comment

by:ozo
ID: 2008041
How about an expect script to rlogin localhost?
0
 

Author Comment

by:qcord
ID: 2008042

I do not understand what You mean. do you mean that a
crontab controlled script should do a rlogin on my machine ?

One other way could be to affect the mouse.
My hypothes is that they use the 'rusers -l' to see if the user
is activ or not and mouse "events" will reset the idle time.

0
 
LVL 1

Accepted Solution

by:
goodc earned 600 total points
ID: 2008043
Maybe they are just running a scrpt or program that examines
the modify time of the tty device.

Try this script :

#!/bin/sh

cursor_up=`tput cuu1`

while :
do
        echo "$cursor_up" > `tty`
        sleep 60
done          
0
 

Author Comment

by:qcord
ID: 2008044
Well I found the solution by myself, after the screen lock is
on I just need to place a glass on the space button during
the night, this will reset the rusers time out.

Regards
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

I have been running these systems for a few years now and I am just very happy with them.   I just wanted to share the manual that I have created for upgrades and other things.  Oooh yes! FreeBSD makes me happy (as a server), no maintenance and I al…
Java performance on Solaris - Managing CPUs There are various resource controls in operating system which directly/indirectly influence the performance of application. one of the most important resource controls is "CPU".   In a multithreaded…
Learn how to find files with the shell using the find and locate commands. Use locate to find a needle in a haystack.: With locate, check if the file still exists.: Use find to get the actual location of the file.:
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.

763 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question