Wednesday 24 September 2008

Primers Coming Up

Thru my work I'm thrown into alot of technologies that i dont nearly know enough about and as with alot of tech related things, the education scene is basic basic basic..GURU with little or no gradiation, so what I'm going to do is post what i learn when i learn it and where i learn it from and hopefully it'll be useful for someone else, and I'll also take the opportunity to rehash stuff I've already done.

ATM I'll probably be doing Bash scripting, Perl Scripting, XML, and whatever UNIX stuff comes up whenever I'm writing, but for now and for a relativly simple start; X display fowarding...

This is the setup: Linux/Unix based "client" and "server"; in my case I have headless systems that i fiddle with from time to time, but after a while vim just becomes a pain, and as for viewing html files etcetc copying things back and forth is a pain in the ass.

The solution is already there; From its beginning the X server has always been client server based on some level. Basically what were gonna do is tell the server to use the client as an X display; this is controlled thru an environment variable, strangly called DISPLAY

Lets assume were using SSH. *nix SSHd has a simple system for fowarding and routing the relevent X ports (these wont show up in your "tunnels" tab if your using something like putty, but you shouldnt be using putty anyway)

Theres two versions of this fowarding ability, X and Y. in a nutshell, X is compressed and encrypted. Y isnt. On slow links, Y is probably your best bet, also some servers dont support the X flag. Also also, some sysadms disable this X fowarding.

Anyway, to the point. 
login to the server thusly
client# ssh user@server -X

then when you get a shell check to see if DISPLAY isnt already set (some servers are good enough to do this for you)

server# echo $DISPLAY

if your lucky it'll say localhost:10.0
otherwise it'll probably say :0.0 or something similar

If your in this unlucky situation, just enter
server# DISPLAY=localhost:10:0

then try it out, by running the clock and forking it into the background (&)
server# xclock &


Job done. Later

Sunday 14 September 2008

Long Extended Break: Hardware Update


So, gonna do a quick write up on my current setup.
Ok, from the top:
Linksys WRT54GL DD-WRT v24 std firmware (also running on the bottom right screen)
Generic Wireless headphones (not used since i heard someone else on the channel :P )
top screens : Windows server 2008 AMD Athlon X2 64 6000+ on an Nvidia MCP 65 based motherboard carrying 6GB, with the dangerous RAID 0 arrangement of two 500GB sata drives and an IDE 320GB for essential backups. (this system is hidden, lol)

The bottom two screens run off of an old Toshiba Laptop that i "repurposed", more or less the keyboard has been removed and the screen flipped around and re positioned, Intel Celeron something or other, 512 MB memory, 60 GB HDD, running Ubuntu Hardy Heron that i mainly use for chat, downloads, news, system monitoring and notes.

Fairly standard hidden speakers and everythings as hidden so i get to be messy the rest of the time. 

As for functionality, i use the laptop as an always on remote access hub that also lets me dial into work from anywhere. Also, since the laptop is keyboard mouseless, I use synergy to automatically start the client on the laptop (using the desktop as the server)

FYI easy enough to set up, just insert this:
/usr/bin/killall synergyc
/usr/bin/synergyc (server)

in these
/etc/gdm/Init/Default
/etc/gdm/PostLogin/Default
/etc/gdm/PostSession/Default
/etc/gdm/PreSession/Default

And this more or less starts and stops the server at every stage of bootup and login (note, you are not going to get to play with BIOS options et al, read the synergy FAQ

Anyway, Otherwise, I've been working on alot of bash script that I will post about separatly, but I am going to be learning perl so i will hopefully be using this thing alot more than usual.

Later guys