earth tech

[software and hardware technology originating from or otherwise pertinent to planet earth]

use these buttons to share this blog on portal sites:

Add to Google

Wednesday, May 13, 2009

 

Detecting active VNC server instances

I needed something to tell me what VNC server (vncserver()) instances were running, and on which DISPLAY ports, and with what resolution(s) (geometry), so I wrote one. Here is the HTMLized Perl source code:

#!/usr/bin/perl -w
######################################################################
## FILE:  findvncport.pl 

## DESC:  display information about VNC server instances
## VERS:  01
## DATE:  2009-05-13
## AUTH:  pdw@thesoftwaremaster.com
##############################################################################
##  USAGE NOTES:
##
##    This is a script to find out the connection port number and screen
##    geometry of any VNC server instances currently running on a host.  

##
##    This functionality is most useful to a user who needs to know what VNC
##    server instance(s) is(are) running, and on what port(s) - E.G.  at logon
##    (to a shell) time when a vncserver has been left running.
##
##    For convenience, the geometry of the X interface, the PID of Xvnc (the
##    actual X server invoked by vncserver), and such other info as we can
##    glean from the process listing on the host.
##

##    Note that this script only returns information about VNC instances
##    running under the UID of the user who runs the script.  The value of
##    the environment variable $USER is used to filter the process listing.
##    The user's $UID value is displayed, but is not used.
##
##    This program is designed to be run on a remote, ssh-accessible host
##    computer during the login and user account initialization process.
##
##  EXAMPLE:

##
##    I place this script in the .bash_login shell script that runs at user
##    login.
##
##
##  _TODO_: there is no buglist, yet, but there are some things need done to
##          this script right to begin with (i.e. the functionality is
##          marginal, and will almost certainly "break" the first time someone
##          tries to use it on some other platform or environment.  First on

##          the list of things to do must be: Fix the regular expression
##          parsing which finds the data in the process listing.  As the code
##          is now, these regex statements will break e.g. if the Xvnc command
##          line doesn't look like it expects. 2nd on the list has to be the
##          addtion of command line parameters to modify the output of the
##          script. :_TODO_
##
#############################################################################
##  REVISION HISTORY:

##
##     01: 2009-05-13 pdw
##         Initial version
##
#############################################################################
##
## Load up some environmental info...
$curruid = `echo \$UID`;

$curruser = `echo \$USER`;
@processes = `ps x -u \$USER`;
chomp($curruid);

chomp($curruser);

## @displays gets the data about whatever VNC displays are running
@displays = ();

while ($_ = shift(@processes)) {

 my $d = {};
 my $found = 0;
 chomp;

 next unless ($_);
  
 next unless (/^\s*(\d+).+Xvnc\s*(\:\d+)/)

  && ( $display = $2, $vncpid = $1 );

 # get desktop 

 m/-desktop(.+)-httpd/ 
  && ($desktop = $1);

 m/-geometry\s+(\d+x\d+)/
  && ( $geometry = $1 );

 m/-depth\s+(\d+)/
  && ( $depth = $1 );

 $d = {
  'Display'  => $display,
  'VNC PID'  => $vncpid,

  'Desktop'  => $desktop,
  'Geometry' => $geometry,

  'Depth'    => $depth,
 };
 push(@displays, $d);

}

## Display what we found out 
print "VNC server info for USER \'$curruser\':\n";
if (scalar(@displays)) {

 foreach my $disp (@displays) {
  foreach my $k (keys(%$disp))

  {
   print"  $k: \t".$disp->{$k}."\n";

  }
 }
} else {
 print "
  VNC server not found in process listing.

";
}

Labels: , , , , , , , , ,

Friday, March 20, 2009

 

xorg.conf file for hp pavilion zd7000

#
#  X-server configuration file.
#
#  Place this file at /etc/X11/xorg.conf and restart the X server 
#  in order to start using the provided configuration.
#
#  This is the xorg.conf file that fixes the X-server config 
#  problems on the hp pavilion zd7000 laptop running OpenSuSE 11.0
#
#  The source of this file is/was: 
#    http://www.ccs.neu.edu/home/jpatota/linux/knoppix/xorg.conf
#
#
Section "ServerLayout"
 Identifier     "XFree86 Configured"
 Screen      0  "Screen0" 0 0
 InputDevice    "Keyboard0" "CoreKeyboard"
# PS/2 Mouse not detected
# Serial Mouse not detected
        InputDevice    "USB Mouse" "CorePointer"
EndSection

Section "ServerFlags"
 Option "AllowMouseOpenFail"  "true"
 
EndSection

Section "Files"
 RgbPath      "/usr/share/X11/rgb"
 ModulePath   "/usr/lib/xorg/modules"
 FontPath     "/usr/share/fonts/X11/misc:unscaled"
 FontPath     "/usr/share/fonts/X11/75dpi:unscaled"
 FontPath     "/usr/share/fonts/X11/100dpi:unscaled"
 FontPath     "/usr/share/fonts/X11/Type1"
 FontPath     "/usr/share/fonts/X11/Speedo"
 FontPath     "/usr/share/fonts/X11/PEX"
# Additional fonts: Locale, Gimp, TTF...
 FontPath     "/usr/share/fonts/X11/cyrillic"
# FontPath     "/usr/share/fonts/X11/latin2/75dpi"
# FontPath     "/usr/share/fonts/X11/latin2/100dpi"
# True type and type1 fonts are also handled via xftlib, see /etc/X11/XftConfig!
 FontPath     "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
 FontPath     "/usr/share/fonts/truetype"
 FontPath     "/usr/share/fonts/latex-ttf-fonts"
EndSection

Section "Module"
# Comments: see http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=346408
 Load  "dbe" # Double Buffering Extension, very important.
 Load  "dri" # This shouldn't be available choice if user has selected driver vga, vesa or nv.
 Load  "glx" # GLX Extension.
 Load  "freetype" # Freetype fonts.
 Load  "type1"  # Type 1 fonts
 Load  "record" # Developer extension, usually not needed
# Load  "extmod" # This is okay, but if you look into "man xorg.conf" you'll find option NOT to include DGA extension with extmod, and for a good reason.. DGA causes instability as it access videoram without consulting X about it.
 SubSection      "extmod"
  Option          "omit xfree86-dga"
 EndSubSection
# Load  "speedo" # Speedo fonts, this module doesn't exist in Xorg 7.0.17
# The following are deprecated/unstable/unneeded in Xorg 7.0
#       Load  "ddc"  # ddc probing of monitor, this should be never present, as it gets automatically loaded.
# Load  "GLcore" # This should be never present, as it gets automatically loaded.
#       Load  "bitmap" # Should be never present, as it gets automatically loaded. This is a font module, and loading it in xorg.conf makes X try to load it twice.
EndSection

Section "InputDevice"
 Identifier  "Keyboard0"
 Driver      "kbd"
        Option      "CoreKeyboard"
 Option "XkbRules" "xorg"
 Option "XkbModel" "pc105"
 Option "XkbLayout" "us"

EndSection

Section "InputDevice"
 Identifier  "Serial Mouse"
 Driver      "mouse"
 Option      "Protocol" "Microsoft"
 Option      "Device" "/dev/ttyS0"
 Option      "Emulate3Buttons" "true"
 Option      "Emulate3Timeout" "70"
 Option     "SendCoreEvents"  "true"
EndSection

Section "InputDevice"
 Identifier  "PS/2 Mouse"
 Driver      "mouse"
 Option      "Protocol" "auto"
Option          "ZAxisMapping"          "4 5"
 Option      "Device" "/dev/psaux"
 Option      "Emulate3Buttons" "true"
 Option      "Emulate3Timeout" "70"
 Option     "SendCoreEvents"  "true"
EndSection

Section "InputDevice"
        Identifier      "USB Mouse"
        Driver          "mouse"
        Option          "Device"                "/dev/input/mice"
 Option  "SendCoreEvents" "true"
        Option          "Protocol"              "IMPS/2"
        Option          "ZAxisMapping"          "4 5"
        Option          "Buttons"               "5"
EndSection

# Auto-generated by KNOPPIX mkxf86config

Section "Monitor"
 Identifier "Monitor0"
 Option "DPMS" "true"
 HorizSync    30 - 64
 VertRefresh  50 - 100
 Modeline "1440x900" 97.54 1440 1472 1840 1872 900 919 927 946
EndSection

Section "Device"
 ### Available Driver options are:-
# sw_cursor is needed for some ati and radeon cards
        #Option     "sw_cursor"
        #Option     "hw_cursor"
        #Option     "NoAccel"
        #Option     "ShowCache"
        #Option     "ShadowFB"
        #Option     "UseFBDev"
        #Option     "Rotate"
 Identifier  "Card0"
# The following line is auto-generated by KNOPPIX mkxf86config
 Driver      "nv"
 VendorName  "All"
 BoardName   "All"
# BusID       "PCI:1:0:0"
 Option "MetaModes" "1440x900"
EndSection

Section "Screen"
 Identifier "Screen0"
 Device     "Card0"
 Monitor    "Monitor0"
 DefaultColorDepth 16
  SubSection "Display"
  Viewport 0 0
  Depth 24
  Modes "1440x900"
 EndSubSection
EndSection

Section "DRI"
 Mode 0666
EndSection

Labels: , , , , , , ,

Archives

2006/12   2007/01   2007/05   2007/06   2007/07   2007/08   2007/10   2008/01   2008/02   2008/03   2008/05   2008/11   2008/12   2009/01   2009/02   2009/03   2009/04   2009/05   2009/07   2009/09   2009/10   2009/11   2009/12   2010/01  

This page is powered by Blogger. Isn't yours?

Subscribe to Posts [Atom]