Showing posts with label X Windows. Show all posts
Showing posts with label X Windows. Show all posts

Thursday, April 10, 2014

Window Manager Lineup


[TWM History, courtesy Wikipedia]
Abstract:
X Windows is a Client-Server based windowing system, where the client applications can run on foreign servers and the X-Windows Server provide resources to the client to run properly, such as Frame Buffer, Keyboard, and Mouse. The X Windows Client application may run on any Hardware or OS Platform, consuming the memory and CPU resources on the remote side, not bound by architecture or byte order to the X Server. This article discusses one such client, the Window Manager.

[X Windows Architecture, Courtesy Wikipedia]

Architecture:
An X Client may consume resources from a single X Server, such as a simple as a Clock Application as complicated as a Desktop Publishing Application. An X Client may consume resources from multiple X Servers for gaming, such as X Tank or X Battle. A special kind of X Client is called the Window Manager. The Window Manager acts as a client, may run as a local client, on the platform hosting the X Server, or it can run on a different platform hosting clients. The Window Manager provides controls to the desktop environment, which is ultimately virtualized through the X Protocol.

[Open Look Virtual Window Manager, courtesy Layer 3 Networking]
Window Manager Lineup
Window Managers come in many different flavors. A recent article on windows managers hit the Layer 3 Networking Blog and offers a view into what may be appropriate for a vendor's virtual desktop environment.

2013-03-17 --- A Memory Comparison of Light... Desktops – Part 1
Fortunately, ...we have plenty of other choices, and we do like change. We have no need to keep using desktops we don’t like.I will describe some of choices in this article, and I’ll attempt to measure the RAM memory requirements. 

2013-04-09 ---  A Memory Comparison of Light... Desktops – Part 2
...I’ve tried to investigate the RAM memory requirements for running some of the most common light window managers and desktop environments available... Prompted by several readers, I’ve decided to include also the big, well-known memory hogs that grab most of the... market, i.e. KDE, Unity and Gnome.

2014-02-15 --- A Memory Comparison of Light Linux Desktops – Part 3
Unused memory goes into a special buffering pool, where the kernel caches all recently used data. If a process attempts to read a file and the kernel already has the file cached, reading it is as fast as reading RAM. Filesystem-heavy task, such as compiling source code, processing video files, etc. benefit from as much free memory as possible in buffering pool. It is not uncommon today to see users with powerful systems running tiling window managers in only a few megabytes of memory.
[Lineup of Window Managers by Resource Utilization, courtesy Layer 3 Networking]

Conclusions:
The author of these articles had placed a disproportionate weight upon Linux, which did not even exist when X Windows was released, so it should be noted that any OS can leverage these Window Managers. The layer of control the Window Manager offers to the virtual desktop user is what is most important for the environment where virtualization is occurring. What really matters is the application being virtualized, not the window manager, so the desktop features required to deliver the virtualized application to the end user is an economics question which this article series provides excellent data points for an architect to leverage in order to make the appropriate business decision.

Thursday, October 4, 2012

X Windows Programming for Script Builders

X Windows Programming for Script Builders

Abstract:

From the original days of computing systems, there were various layers including hardware, firmware, kernel, and shell. As systems became more complex, access to the computer went from serial ports to desktop graphical consoles based upon proprietary windowing systems. Over time, X Windows became the standard environment for desktop UNIX systems. Some hybrid environments were created which combined the textual shell with graphical interfaces - one such environment is "dtksh".

Manuals:

Some of the best manuals available, for X Windows Desktop Korn shell programming are available from Oracle (formerly created by Sun Microsystems.)
  • [html] Common Desktop Environment: Desktop KornShell User's Guide
  • [html] Chapter 1 Introduction to Desktop KornShell
  • [html] Chapter 2 A Sample Script
  • [html] Chapter 3 Advanced Topics
  • [html] Chapter 4 A Complex Script
  • [html] Appendix A dtksh Commands
  • [html] Appendix B dtksh Convenience Functions
  • [html] Appendix C The script_find Script
  • [html] Common Desktop Environment: Programmer's Overview
  • [html] Common Desktop Environment: Programmer's Overview / Desktop Korn Shell (dtksh)


Solaris:

Since the advent of CDE, Solaris shipped "dtksh" and examples with their operating system. The following are examples on a Solaris 10 platform.
V240/user$ cd /usr/dt/share/examples/dtksh
V240/user$ ls -al
total 140
drwxr-xr-x 2 root bin 512 Jan 2 2010 .
drwxr-xr-x 20 root bin 512 Jan 2 2010 ..
-r-xr-xr-x 1 root bin 2487 Dec 17 2004 CallbackTest2
-r-xr-xr-x 1 root bin 4645 Dec 17 2004 CallDataTest4
-r-xr-xr-x 1 root bin 10674 Dec 17 2004 crMovesText1
-r-xr-xr-x 1 root bin 1736 Dec 17 2004 DtCursorTest2
-r-xr-xr-x 1 root bin 5265 Dec 17 2004 DtWsTest1
-r-xr-xr-x 1 root bin 6007 Dec 17 2004 EventHandlerTest
-r-xr-xr-x 1 root bin 1870 Dec 17 2004 ListBounds1
-r-xr-xr-x 1 root bin 2249 Dec 17 2004 ListItemPos1
-r-xr-xr-x 1 root bin 1847 Dec 17 2004 ListPosSel1
-r-xr-xr-x 1 root bin 1463 Dec 17 2004 PopupTest
-r-xr-xr-x 1 root bin 1677 Dec 17 2004 SelBoxResTest
-r-xr-xr-x 1 root bin 4097 Dec 17 2004 SessionTest
-r-xr-xr-x 1 root bin 2865 Dec 17 2004 TextCutBuf1
-r-xr-xr-x 1 root bin 2326 Dec 17 2004 TextDisp1
-r-xr-xr-x 1 root bin 1829 Dec 17 2004 TextFXYPos1
-r-xr-xr-x 1 root bin 2518 Dec 17 2004 TransEventTest
-r-xr-xr-x 1 root bin 2168 Dec 17 2004 TransTest1
-r-xr-xr-x 1 root bin 990 Dec 17 2004 WorkProcTest1
-r-xr-xr-x 1 root bin 4033 Dec 17 2004 XdrawTest

Other Examples:

Former Sun engineer Brendan Gregg includes a variety  of examples on his personal web page, regarding "dtksh".

Wednesday, May 25, 2011

X Windows Information Update



The X Windows System tab on Network Managment has been created:
  • Various releases of the open-source X Windows System, bundled with nearly every OS for the past 20 years
The tab has been updated with additional materials
  • Third party X Windows Server vendors, for people using proprietary Microsoft Windows
  • Scripting to build X Windows Applications in wksh and dtksh

Monday, April 25, 2011

X Windows: XRECORD Extension



X Windows: XRECORD Extension

Abstract:
The X Windows XRECORD Extension allows for a free framework to observe and record graphical activities of an X Windows client program running on an X Server. The XRecord extension may have been released with X11 release 6.1, although documentation was released from with X11 release 6.4. The extenions may be leveraged for security purposes (i.e. auditing), careful watching of an X Server for smoother remote frame buffer implementations, or even for automating testing procedures.

Definition:
[html | pdf] --- XRecord Extension Library - Version 1.13 - X Consortium Standard - X Version 11, Release 6.4 - Copyright © 1994 Network Computing Devices, Inc - Copyright © 1995 X Consortium

Example Uses:
[html | pdf] --- Version 0.7.2beta of x11vnc - The X RECORD extension is used to detect some scrolls.

[html | pdf] --- PyKeylogger is a free open source keylogger written in the python

[html | pdf] --- Xnee is a suite of programs that can record, replay and distribute user actions under the X11 environment. Think of it as a robot that can imitate the job you just did.

[html | pdf] --- AutoKey is a desktop automation utility for Linux and X11. It allows you to manage collection of scripts, and assign abbreviations and hotkeys to these scripts allowing you to execute them on demand in whatever program you are using.

[html | pdf] --- Issues in Fedora 10

[html | pdf] --- X RECORD extension C Code example.

[html | pdf] --- Record keystrokes via Per module.

[html | pdf] --- Apple MacOSX vnc2swf to record vnc and aqua sessions.

[html | pdf] --- vnc2swf, to record vnc sessions in macromedia shockwave files.

[html | pdf] --- vnc2flv, to record vnc sessions in adobe flash files.

[html | pdf] --- screencasting under Solaris.

[html | pdf] --- How to Create a Flash Demo using Vnc2swf.

[html | pdf] --- Recording your screen in Solaris works right out of the box. All you need to install is vncserver and vnc2swf.


Commercial Uses:
[html | pdf ] --- The Pose technology is used for exactly and totally recording (capture) and later or simultaneous playback of X11 sessions or individual applications, optionally together with audio, video, or arbitrary binary data streams. The recording may be converted to video formats