Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
User Journal

Journal eno2001's Journal: MEME Attempt: Top 10 Cool Home Stuff You've Done with *nix 2

RULES: These have to be things you can't do on other proprietary platforms easily (without being a programmer), at all, or without buying additional software, or pirating software. These don't have to be things that are necessarily special within the *nix world, just things that you know you can't do elsewhere. (ie. they can be commonplace *nix operations)

My list:

1. Logical Volume Manager: resizing an existing file system without the need for a restore. I have a USB hard drive for backing up my laptop. I'd originally "partitioned" it using LVM into two logical volumes that were each 50% of the total space. But I no longer needed the split and actually needed more space within one file system. So, I deleted the 'workstation' logical volume (kind of like a partition only WAY better for you non-*nix folks) that I didn't need anymore to free up space. Then I used 'lvextend' to grow the 'laptop' logical volume to include the newly freed up space. Then I used 'resize_reiserfs' to allow the existing file system in 'laptop' to become aware of and use the newly added space. Then I re-mounted /dev/backup/laptop and instead of 55 gigs, it was now 110 gigs.

2. Network Block Devices: exporting a DVD drive (not a share) from one system over the network so that it appears to be installed on another system. I've written a lot about this here and there on Slashdot as well as made a journal entry about it. Basically, by utilizing the network block device support in the Linux kernel and the 'nbd-server' and 'nbd-client' userspace apps, I was able to allow my Linux based media center to play back DVDs from my laptop's drive over WiFi (802.11g). I've also exported partitions, raw hard drives and logical volumes using NBD to remote systems. If you do this right, you can essentially make a "poor man's" SAN with a separate network for storage (which is why I have two cat 5e drops per location throughout the house)

3. Xine broadcast: Streaming DirecTV from my media center to any other PC or laptop in the house. By starting the 'xine' media player with the --broadcast-port=5555 option, other xine players on the network can use 'xine slave://ip_address:5555' to play back whatever is being played on the media center. My DirecTV playback consists of: 'cat /dev/video0 | xine --broadcast-port=5555 stdin:/'.

4. Enlightened Sound Daemon (ESD): Utilizing the sound output on one machine for playback from another system over the network. Sure, Remote Desktop in Windows can do it, but not with the same level of flexibility. And, personally I think ESD sucks! I'm far more interested in Pulseaudio since it sounds MUCH more flexible than ESD and more robust. But that's an aside. Here's how I've used ESD to do something that you can't do on other platforms. My media center hardware is actually in the basement and the monitor and speakers are in the living room. The family laptop sits on the coffee table next to the couch. Since I have a toddler and don't want to wake her up while watching TV or movies, I set up a system where a double click on a media file gives me normal audio playback over the speakers. But what about headphones? The box is in the basement and an extension cable would be a bit much. So... in comes ESD. I set up Gnome so that a right click on the media file allows me to run my 'videoplay' script from a symlink called 'rvideoplay'. Within the script, the $0 argument is checked and if it is 'rvideoplay' instead of 'videoplay', then it runs an extra function within the script that launches an 'esd' server on the laptop and then has 'xine' run with an ESPEAKER variable that matches the laptop's IP and the esd TCP port number. So the sound plays over the laptop, which is where I plug the headphones in. So I can watch movies or TV with headphones on my large screen without bothering anyone in the house!

5. Old Hardware with Modern Software: The life of my PC hardware stays relevant MUCH longer than it would with Windows. I have a home server that is approaching ten years. It would never run Vista and could barely run XP Pro. But I can still run the latest apps on it from my chosen Linux distro with decent speed. It's a dual pentium II 450 Mhz with 768 megs of RAM and an Nvidia GeForce 2 AGP card. (Yeah, it's THAT old clunker that I've been going on about for years here) It's running the latest Firefox, Thunderbird, Openoffice. I could probably even coax it to run Compiz if I wanted. There'd be no way to get IE7, or any of the latest MS Office stuff to run on it. And Aero Glass? Fuggitaboutit!

6. Xen: Hypervisor based full virtualization and paravirtualization. While you can virtualize on other platforms and Parallels introduced hypervisor full virtualization on the Mac when Apple went to x86, Linux was first on the scene with it via VMWare ESX. As far as I'm aware, when it comes to systems that the average person has at home, only Linux and some BSDs offer paravirtualization in Xen on that kind of hardware. I started about three years ago with paravirtualized Linux on top of Fedora Core 3. Just last year I made the move to an AMD 64 box to take advantage of Xen's hardware assisted full virtualization. So I have one box running nearly eight VMs that take the place of multiple systems right now. Not only that, but it's a desktop class machine from HP that I bought at Best Buy for about $800 and added RAM to. This kind of functionality is available to anyone who wants to spend the time to set it up and take advantage of it. It's the one place where I'm running Windows in my home. On a virtual machine...

7. Private VoIP over a darknet. Using a combination of OpenVPN to establish private networks between some of my friends and family, as well as the Asterisk PBX (running in a VM on the AMD 64) and some SIP softphones... I've established a private VoIP network that allows us to all communicate free of charge and with no eavesdropping (unless someone's really interested enough to snag all the encrypted packets and use huge machines to try and decrypt them ;) While this might be doable on other platforms, it's not been doable until relatively recently. It's been available a lot longer on the *nix side.

8. Rio Karma Digital Music Player: Using the USB interface on the player and Linux's ability to mount the device, I've been able to load up music from home while at work over a VPN connection with reasonable speed (thanks to the DSL line). My Karma thinks it's getting music from the local workstation, but it's coming via 'scp' from the file server at home over a VPN tunnel.

9. SSH: Tunneling VNC (bound to 127.0.0.1 so that no one can reach it via the WiFi without tunneling) and ESD traffic via WiFi to further obscure the data that traverses the WiFi (on top of the WEP encryption).

10.'rsync' + ssh + vpn + crontab = remote backups that are easy as hell and free. I have a server at my parent's house with plenty of disk space on it. Every fifteen minutes, it checks to see if there are new photos on my server at my house. If there are, it sucks them down so I have "offsite backup".

What about you? I also invite those who use other platforms to pull off their own Top 10 cool things that they can do that can't be done on *nix. Or... conversely, Top ten cool things I CAN'T do on *nix. Should be interesting.

This discussion has been archived. No new comments can be posted.

MEME Attempt: Top 10 Cool Home Stuff You've Done with *nix

Comments Filter:
  • Network block devices - Yeah, this is cool. Pity there's no server support for ATA over Ethernet. I'd have hit that.

    X2X - I used to have a home setup with two Linux desktops(salpha and sdelta) and a Linux laptop (sbeta). Salpha had a CRT attached, and sdelta forwarded X applications raw to salpha. Salpha would also run x2x targeted at sbeta, so I could use salpha's keyboard and mouse to control two screens spread over three machines.

    X over SSH - Used that a great deal last Winter. I even demoed it in f
  • - Doing everything from everywhere in text mode (irssi + centerim + links + vi + gcc + nethack + etc... over SSH). I just like to do that, from any computer connected to internet, I connect to my home box (Ubuntu VM) over SSH (port 443), and I chat on IRC, MSN, AIM, etc, I browse Slashdot and any other site I like in text mode, I type texts or code, or I play nethack. Not only does it allow me to do anything I want, due to the fact that it's all in console mode everybody's fooled into thinking I'm doing som

"There is such a fine line between genius and stupidity." - David St. Hubbins, "Spinal Tap"

Working...