Solved

Simulate keystroke

Posted on 1998-11-24
8
669 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
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
Courses: Start Training Online With Pros, Today

Brush up on the basics or master the advanced techniques required to earn essential industry certifications, with Courses. Enroll in a course and start learning today. Training topics range from Android App Dev to the Xen Virtualization Platform.

 

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

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Question has a verified solution.

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

When you do backups in the Solaris Operating System, the file system must be inactive. Otherwise, the output may be inconsistent. A file system is inactive when it's unmounted or it's write-locked by the operating system. Although the fssnap utility…
A metadevice consists of one or more devices (slices). It can be expanded by adding slices. Then, it can be grown to fill a larger space while the file system is in use. However, not all UNIX file systems (UFS) can be expanded this way. The conca…
Learn several ways to interact with files and get file information from the bash shell. ls lists the contents of a directory: Using the -a flag displays hidden files: Using the -l flag formats the output in a long list: The file command gives us mor…
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.:

813 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

Need Help in Real-Time?

Connect with top rated Experts

17 Experts available now in Live!

Get 1:1 Help Now