Linux Blog

Suspend Scripts for the Toshiba Tecra M2

Filed under: Quick Linux Tutorials, Shell Script Sundays — TheLinuxBlog.com at 12:15 am on Sunday, March 30, 2008

As you may know if you are a regular reader I own a Toshiba Tecra M2. One of the things that annoyed me was I had to turn the brightness up every time my computer came out of standby mode. A fix for this is to adjust the brightness every time the computer comes out of standby mode.

The script is intended to be run under cron. I have mine set up to suspend after 5 minutes of the lid being closed.

if [ $(cat /proc/acpi/button/lid/LID/state | sed ’s/state:      //’) == “closed” ]; then
VAR=$(cat /proc/acpi/toshiba/lcd | sed ’s/brightness:              //’ grep -v levels);
sudo su -c “echo mem > /sys/power/state”;
if [ $VAR -eq 1 ]; then
ACTION=ADD;
elif [ $VAR -eq 7 ]; then
ACTION=SUB;
else
ACTION=ADD;
fi;
if [ $ACTION == “ADD” ]; then
VAR=$(($VAR + 1));
else
VAR=$(($VAR - 1));
fi;
sudo su -c “echo brightness:$(echo $VAR) > /proc/acpi/toshiba/lcd”;
fi;

I run this with the following cron entry:

*/5 * * * * sh hibernate.sh

The script first checks the current brightness. If the brightness is currently 1 or 7 it adjusts the mathematic operation so that when the laptop is opened the brightness is adjusted. Basically if the brightness is one, it adds one. If the brightness is 7 or any other value it subtracts one. This is currently working out quite well for me. I don’t know how useful this is to any body else, unless you happen to have a Toshiba that is doing the same thing but it should give you a good overall idea of how to perform basic mathematic operations in bash.

Bin and Cue Support for Linux

Filed under: Quick Linux Tutorials — TheLinuxBlog.com at 2:35 pm on Tuesday, March 18, 2008

If you have a bin/cue image that you need to use under Linux you may be in for a surprise. I recently downloaded a copy of a game that I owned but was too scratched to use. The problem was the game came in bin / cue format. To fix this I just used a nifty little program called bchunk and converted it to ISO. It can be found here: http://he.fi/bchunk/

I would really like to find a way to mount bin and cue images under Linux but so far I’m not having any luck. I’m wondering if with some modification the bchunk program could be used with fuse.

SSH Tunnel

Filed under: Linux Software, Quick Linux Tutorials — TheLinuxBlog.com at 11:23 pm on Thursday, March 6, 2008

Today I had the need to access my development web server at my office network. I have a firewall that runs SSH but doesn’t my firewall does not forward the port for the web server. So, in an emergency situation I was able to use an Linux with SSH and Tunnel into my network on port 80. Since I have a server running on port 80 on this computer I could not use this port. I chose port 8080 to use for the local port and forward it to my web server on the firewalled network. I did this by doing the following:

ssh <SSH HOST> -L 8080:192.168.1.X:80

Using SSH Tunneling I was able to then browse to http://localhost:8080 on this computer and successfully view the contents of my web server. So, any time you need to connect to a port on a computer behind a NAT firewall that you have access to SSH on is just use a SSH Tunnel and then use the -L Switch with the port on your local machine first, then the destination address and port. Simple!

How to Partition Slackware

Filed under: General Linux, Linux Video Tutorials, Quick Linux Tutorials — TheLinuxBlog.com at 12:14 am on Friday, February 1, 2008

I made this quick video on how to partition Slackware 12


How to partition Slackware 12

You might need to turn up the volume. Let me know what you think of this video and if I should continue to make them.

steps are here for reference:

  1. Boot up the Slackware installation disk
  2. Select a keyboard map (if needed)
  3. Log in as root
  4. Use “cfdisk” to get into the disk manager
  5. Create a swap partition in MB double the size of memory. If you have 256 MB of ram, use 512, 128 use 256 etc.
  6. Change the partition type to swap
  7. Create a root partition on the available space with the full disk
  8. Make this partition bootable with the Linux file system type
  9. write the changes to the disk.

This is a very basic setup. I want to make more videos on various subjects if this one picks up. In the line up is a whole Slackware setup tutorial and possibly various other distributions too. I would like to demonstrate other software and technologies.

Drop a comment and let me know what you think!

Clear browser history from command prompt

Filed under: General Linux, Quick Linux Tutorials — TheLinuxBlog.com at 3:36 pm on Thursday, January 17, 2008

I found this link a while back on clearing the history in IE7 from the command prompt

Clear IE7 browsing history from the command line

Although not specifically Linux related it is interesting and I thought users who sometimes use IE7 may be interested in this. It also provoked me to ask the question “How do I clear FireFox history from command line.”

Well, it is a bit simpler then clearing your history in IE7. The only thing you need to know is your profile name, and even then you don’t really have to because you can guess.

Firstly there are a couple of files that you should be aware of they are: cookies.txt, downloads.rdf, history.dat and one folder full of files: <profile>/Cache/

Now to clear your downloads list, your cookies list, your history or your cache you basically just remove the corresponding file. So, lets take a look at the command. We’ll assume my randomly generated profile name is called linux-blog

owen@linux-blog:~$ rm .mozilla/firefox/linux-blog.default/cookies.txt
owen@linux-blog:~$ rm .mozilla/firefox/linux-blog.default/Cache/*
owen@linux-blog:~$ rm .mozilla/firefox/linux-blog.default/downloads.rdf
owen@linux-blog:~$ rm .mozilla/firefox/linux-blog.default/history.dat

The above need to be ran individually. Make sure that FireFox is closed before the above is ran, or some pages may not load correctly. If any one is interested I’ll write a shell script to make this easier.

General Linux Kill Process

Filed under: General Linux, Linux Software, Quick Linux Tutorials — TheLinuxBlog.com at 6:38 am on Tuesday, January 15, 2008

Killing a process with Linux is an easy task. As always there is more than one way to do it. There are graphical process managers that can be used to aid in killing a process on Linux. The first method I’ll demonstrate may work depending on your window manager. Either way you can set it up to work the same way if you like it.

The name of the program is xkill. My XFCE has a shortcut of CTRL+ALT+ESC but this may not be the case for every version of XFCE. Basically you press this keyboard shortcut and you get a skull and crossbones. Once you get that you can click on the window of the process you’d like to kill and it kills it.

To use Linux to kill a process from the command line, you can use one of two commands that are pretty standard throughout all Linux Distros the kill, and killall commands. The only real hard part is figuring out what process to kill. To figure out what process I want to kill I use the following command:

owen@linux-blog:~$ ps ax

then to use kill and killall on Linux I use:

owen@linux-blog:~$ kill <processid>

owen@linux-blog:~$ killall <processname>

This is pretty straight forward but if you have say multiple FireFoxes open, you may want to just kill the process by using the kill <processid> command, otherwise all of your FireFox windows will probably close since killall kills all processes that match the name, regardless of if they actually are crashed or not.

If the process won’t die, you can use the following to kill it. Be aware that this is not the best thing to do but it will kill the process.

owen@linux-blog:~$ kill -9 <processid>

owen@linux-blog:~$killall -9 <processname>

Basically instead of killing gracefully you send a SIGKILL to the process which is basically tells it to commit suicide no matter what its currently doing. I’ve listed all of the signals you can send to kill a process at the end of this post.

Another method to kill a process is by using top. Top is an interface that shows you what processes are doing what. You can kill a process (once your in top) by pressing the k key. It then asks you what PID (Process ID) you want to kill. You can figure this out from the list. It then asks what type of signal you want to use. You can use the default first, and then if the process just wont die, you can use 9. Top is useful for killing a bunch of processes in a small amount of time.

List of all signals that you can send:

owen@linux-blog:~$ kill -l
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL
5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE
9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2
13) SIGPIPE 14) SIGALRM 15) SIGTERM 16) SIGSTKFLT
17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP
21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU
25) SIGXFSZ 26) SIGVTALRM 27) SIGPROF 28) SIGWINCH
29) SIGIO 30) SIGPWR 31) SIGSYS 34) SIGRTMIN
35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3 38) SIGRTMIN+4
39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8
43) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12
47) SIGRTMIN+13 48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14
51) SIGRTMAX-13 52) SIGRTMAX-12 53) SIGRTMAX-11 54) SIGRTMAX-10
55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7 58) SIGRTMAX-6
59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2

What to do when you run out of disk space

Filed under: General Linux, Linux Software, Quick Linux Tutorials — TheLinuxBlog.com at 11:27 am on Tuesday, January 8, 2008

Some times you run out of disk space. It just happens. So, what do you do when it does happen?

Well, it just happened to me and I’ll write about what I did. I’ll first start off with how I discovered that I was out of disk space in the first place. It was about 10:30 last night when for some reason that I can’t remember now I decided I’d start up my good old XP Virtual Machine (Probably to use some quirky Windows program.) Anyhow the VMWare console reported that I did not have enough disk space. This came as a bit of a shock to me as I have a 100GB hard drive. I had been downloading ISO’s of Linux Distributions but not that much. So, here is what to do when you run out of disk space:

Step 1) Don’t panic
Step 2) Take a look at your processes and shutdown anything that is not needed. init to single user mode if it makes you feel better.
Step 3) Use the disk free utility to figure out how much space you have:

df -h /

Step 4) Make a couple of megabytes of free space so that you can install a program.
Step 5) Download and install xdiskusage from source or from your favorite package manager.
Step 6) Run xdiskusage from the terminal as root
Step 7) Select a disk / partition
Step 8) Wait
Step 9) View the results
Step 10) Rinse wash repeat. (Browse Partitions / Delete / Move files to another disk & do it again)

Here are some screen shots of my xdiskusage:

xdiskusage example screenshot
xdiskusage example screenshot xdiskusage example screenshot xdiskusage example screenshot
Click For xdiskusage screenshots

As you can see from the root screen shot that my root partition that I have 60GB used between my /var and /home directories. On closer inspection, the var has 40GB, 20GB in virtual machines and 20GB in the logs directory. 20GB’s of logs is quite a lot, this is where my problem is. After finding the problem I was able to backup my log files and remove them. I know that this can be done with shell scripts xdiskusage has helped me in the past so I thought I’d pass on the information. If you have a favorite utility or script what you use when you run out of disk space let me know!

Project URL: http://xdiskusage.sourceforge.net/

General Linux Change Password

Filed under: General Linux, Linux Software, Quick Linux Tutorials — TheLinuxBlog.com at 4:52 am on Thursday, December 20, 2007

Changing your password under Linux is a pretty simple task providing you know how to do it, and of course since we’re talking about Linux: changing your password is as simple or complicated as you want it to be either way. You either love GUI’s or you hate them, so one method or the other can be confusing. I’m more of a console guy, but I’ll start with the GUI methods because thats probably what I think the masses want to see first. Remember what your doing tho, if you need to change the password on more than one box, I would look into changing your password by command line.

There is more than one reason to change your password, the examples below assume that you are just changing the current users password because it needs to be changed.

kdepasswd

kdepasswd example

passwd

linux change passwd

If you need to change the password for another user, log in as root and execute the following:

passwd (username)

linux change passwd

There are many ways to change your root password if you forgot it.

One way to do it is to boot up with a live CD, mount your hard drive, chroot and then execute the passwd command, once you reboot your password should be reset.

Checking your battery life from the shell

Filed under: General Linux, Linux Hardware, Quick Linux Tutorials — TheLinuxBlog.com at 8:46 am on Tuesday, December 11, 2007

I’ve often thought to my self “Wouldn’t knowing how much battery life I had be nice.”

Now when a window manager is open, this isn’t a problem. But when your just in a terminal it can be a bit of a problem. If you don’t get the gist of it heres an example, if I’m just in a terminal writing an article, or programming in VIM on battery life. Now I no longer have to execute the following command and guess how much life I have left:

cat /proc/acpi/battery/BAT1/state

I simply run the command:

yacpi

It tells me all kinds of information about my power usage, what the current temperature is, am I plugged in, what CPU governor I’m using. Its a really neat tool. I would recommend for everyone to install it. Worst case scenario it can be used when the system is undergoing maintenance, or if you left your box sitting in the other room and need to check the battery live via SSH. Check out the screenshot:

YACPI Screenshot

To install it it will vary by distribution. I’m sure Debian has it in its XXXX number of packages which means Ubuntu probably has it too. To install on other distributions such as Gentoo or Slackware you’ll need the source. You can acquire the source from here: http://freshmeat.net/redir/yacpi/55486/url_homepage/yacpi
You’ll also need libacpi which can be found here: http://freshmeat.net/projects/libacpi/?branch_id=70062
Make sure you compile libacpi first, or the make will fail for yacpi.

Thats it, once you download the package and install or download and compile the source you’re good to go. Have a good time checking the battery life from the shell. Try doing that in DOS!

A Windows Box, A Linux Box, Two Monitors Sharing One Keyboard and Mouse.

Filed under: Quick Linux Tutorials — TheLinuxBlog.com at 7:15 pm on Wednesday, November 7, 2007

If you read my first 60 second tutorial on using one keyboard and mouse on multiple computers you would know that using two linux boxes with one keyboard and mouse is easy. This blog will show you how to do the same thing but with a Linux box and a Windows box.

So lets get started.

The program to use this time is actually a hack of the x2x program. It is called x2vnc and you guessed it, it connects an X keyboard and mouse to a VNC client.

On your Windows desktop download and install the RealVNC server from http://www.realvnc.com/cgi-bin/download.cgi
Make sure that the vnc server is running (You should see a white icon in the tray.)
Find the ip of your Windows box (windows key + r > cmd > ipconfig)

At your linux box do the following:

Download, Compile and install x2vnc:

owen@linux-blog-lappy:~$ wget http://fredrik.hubbe.net/x2vnc/x2vnc-1.7.2.tar.gz
owen@linux-blog-lappy:~$ tar xvzf x2vnc-1.7.2.tar.gz & cd x2vnc-1.7.2/
owen@linux-blog-lappy:~/x2vnc-1.7.2$ ./configure && make && sudo make_install

Launching x2vnc. Once installed The syntax for x2vnc is very simular to that of x2x.

x2vnc [options] host:display

It will either be North, South, East or West. If your windows box is on your right use east.

owen@linux-blog-lappy:~$ x2vnc -east 192.168.X.X:0

Thats all there is to it. You should be able to mouse over the right of your screen and see your mouse cursor on your windows box.

Snippet: Keeping SSH Running

Filed under: Quick Linux Tutorials, Shell Script Sundays — TheLinuxBlog.com at 12:53 am on Sunday, November 4, 2007

I wrote a post not so long back called Bringing The Internet Up After Failure that explained how I was restarting my network services after the internet went down.

Shortly after this I was remotely working when I thought it would be a good idea to restart my SSHD to enable X11 forwarding. After running the script that normally restarts the service I tried to reconnect. Unfortunately the service never restarted after being stopped. This is not a good situation for any one to be in so I added something like this to my cron along at the end of my network services script:

ps ax | grep \usr\/sbin\/sshd | grep Ss && echo “SSHD Running” || echo “Starting SSH”; sudo /etc/rc.d/rc.sshd start

The only difference between the version I am running and the version above is that I don’t echo anything out. All the command does is use the ps command and grep for usr/sbin/sshd then grep for the STAT field of sS. I do this because sshd shows up in the process list as shown below:

owen@the-linux-blog$ ps ax | grep sshd
3463 pts/0 R+ 0:00 grep sshd

The rest is self explanitory, it echo’s “SSHD Running” or sudo starts the SSHD.

If SSHD ever terminates on me or those of us who run this snippet we will be able to rightfully regain access to our systems, Hurray!

« Previous PageNext Page »