Results 1 to 4 of 4

Thread: Wanted: Bash program idea, or application suggestion

  1. #1
    Senior Member registered user
    Join Date
    May 2006
    Location
    Columbia, Maryland USA
    Posts
    1,631

    Wanted: Bash program idea, or application suggestion

    .
    I would like to create a small bash program that would
    monitor my keystroke activity and if no keystrokes are noted
    within a fixed small time, then any currently active
    internet connection would be disconnected.

    I currently use a Knoppix LiveUSB and wifi via a broadband router
    with network connections handled by NetworkManager.

    If there's 'an app for this' already, then that might also serve.

    Thanks in advance.

  2. #2
    Senior Member registered user
    Join Date
    Feb 2010
    Posts
    512
    Hi utu, I do not have a bash script for you, but I have got some suggestions. First of all, you can disable and enable the network from the commandline by using the commands
    Code:
    nmcli networking off
    and
    Code:
    nmcli networking on
    I think the task is similar to a screensaver because in both cases user inactivity starts a process. I read about a user who wanted to download torrents while the screensaver is active. His or her solution was to ask dbus whether the screensaver was active. He or she used the Gnomedesktop environment. Later I read the solution has to be modified if KDE is used instead of Gnome. Since xscreensaver does not seem to use dbus I think you should try to find out if power management provides an interface to run one shell script on times of user inactivity and another if the user is active again. The absence of keyboard events should start a bash script, but what about mouse events? How long is a 'small time'? Do you intend to reconnect to the network if there is any keystroke activity again?

  3. #3
    Senior Member registered user
    Join Date
    May 2006
    Location
    Columbia, Maryland USA
    Posts
    1,631
    .
    Thanks for your responses, klaus2008.

    nmcli is probably part of the solution; I'll study up on that.

    I should have indicated keyboard and/or mouse events as an indication or
    lack of user presence or attention to internet events.

    I think 'a small time' might be some random number between 15 and 30 minutes
    as a starting point.

    If I know I'm not going to use Knoppix for a while, I manually disconnect.
    If I'm interrupted, I might forget to do this; I'd like Linux to disconnect
    automatically, if need be. Solution need not consider re-connect, since that's
    easy enough to do manually with the NM panel applet.

    You can't underestimate my programming prowess. At most I may be able to
    figure out a line of bash script. I wouldn't have a prayer with C/C+/or C++
    source, even if I had it to look at.

  4. #4
    Senior Member registered user
    Join Date
    May 2006
    Location
    Columbia, Maryland USA
    Posts
    1,631
    .
    Two other building blocks seem to be

    Code:
    xscreensaver-command -watch
    and the following perl program, which tracks the output of the -watch command
    and reacts accordingly:

    Code:
        #!/usr/bin/perl
        my $blanked = 0;
        open (IN, "xscreensaver-command -watch |");
        while (<IN>) { 
           if (m/^(BLANK|LOCK)/) { 
               if (!$blanked) { 
    #              **** action to take when screensaver starts ****
                   $blanked = 1;
               }
           } elsif (m/^UNBLANK/) {
    #              **** action (if any) to take when screensaver is reset ****
                   $blanked = 0;
           } 
        }
    I don't think perl should be necessary, and there is probably a simpler
    bash equivalent that would suffice.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  


Cisco Nexus 48-Port 10G SFP+ Switch N9K-9396PX w/ 9K-M12PQ 12-Port 40G QSFP picture

Cisco Nexus 48-Port 10G SFP+ Switch N9K-9396PX w/ 9K-M12PQ 12-Port 40G QSFP

$249.99



Cisco 2900 Series CISCO2911/K9 Integrated Services Router picture

Cisco 2900 Series CISCO2911/K9 Integrated Services Router

$46.74



Cisco C9200L-24P-4G-A Catalyst 9200L 24P PoE+ 4x1G Uplink Switch 1 Year Warranty picture

Cisco C9200L-24P-4G-A Catalyst 9200L 24P PoE+ 4x1G Uplink Switch 1 Year Warranty

$1845.00



Cisco Catalyst 3850 48 PoE+ 48-Port Gigabit Managed Switch WS-C3850-48F-E picture

Cisco Catalyst 3850 48 PoE+ 48-Port Gigabit Managed Switch WS-C3850-48F-E

$150.00



Cisco WS-C3850-48P-L 48-Port Gigabit 3850 PoE Switch w/ 715W+ C3850-NM-4-1G Mod picture

Cisco WS-C3850-48P-L 48-Port Gigabit 3850 PoE Switch w/ 715W+ C3850-NM-4-1G Mod

$83.00



Cisco Nexus N9K-C93180YC-EX 48-Port 1/10/25G SFP + 6 40G/100G QSFP28 Switch picture

Cisco Nexus N9K-C93180YC-EX 48-Port 1/10/25G SFP + 6 40G/100G QSFP28 Switch

$789.00



Cisco C3850-NM-2-10G 2 Port Network Exp.Module for 3850 picture

Cisco C3850-NM-2-10G 2 Port Network Exp.Module for 3850

$38.99



Genuine Cisco SFP-10G-SR V03 10GBASE-SR SFP+ Transceiver Module 10-2415-03  picture

Genuine Cisco SFP-10G-SR V03 10GBASE-SR SFP+ Transceiver Module 10-2415-03

$8.00



Cisco WS-C3850-48F-S Catalyst 3850 48x 1GB PoE+ RJ-45 1x Module Switch picture

Cisco WS-C3850-48F-S Catalyst 3850 48x 1GB PoE+ RJ-45 1x Module Switch

$185.00



Cisco N5K-C5010P-BF 20-Port Nexus 5010 Series 10GbE Gigabit Ethernet Switch picture

Cisco N5K-C5010P-BF 20-Port Nexus 5010 Series 10GbE Gigabit Ethernet Switch

$119.99