LinuxQuestions.org
Register a domain and help support LQ
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices

Reply
 
Search this Thread
Old 07-31-2010, 10:58 AM   #1
Keith Hedger
Member
 
Registered: Jun 2010
Location: Devon,UK
Distribution: Linux From Scratch, Slackware64,
Posts: 874

Rep: Reputation: 174Reputation: 174
Poor man's graphical boot in Slackware revisited...


This is my first howto so please be kind!

Having read an interesting thread about boot splashes here:
http://www.linuxquestions.org/questi...e-13-x-808823/
Which didn't seem to go anywhere I decided to see if I could do it. I've tried splashy etc but have had no success ( possibly becase I'm on a 64 bit system ), so I decided on using only the available tools, the result was this, please see the attached screen shot for an idea of what you are going to end up with.

If you like lots of text during boot up and think that eye candy is for wimps then move along there's nothing for you here

Most IMPORTANT we will be making some small but important changes to some system scripts, if you get it wrong you may find that your system is unbootable so please make sure that before you start you have an aternate way to boot your system eg a "live" cd or rescue partition and also backup files BEFORE you change them so that you can remove/fix any changes you have made, if you don't do this and you can't boot your system then you will have learned an important lesson!

First You need to make sure busybox is installed:
Code:
sudo slackpkg install  mkinitrd
If you have not built an initrd before you will need to run this command
Code:
sudo mkinitrd -c
This will build an initrd ( not needed ) and also install busybox to /boot/initrd-tree/bin/busybox if you don't want to actually build an initrd then you could just extract the busybox binary from the archive like so:
Code:
mkdir initrd
cd initrd
tar -xvf /usr/share/mkinitrd/initrd-tree.tar.gz ./bin/busybox
If you do just extract the binary you will have to change the path to it in rc.S-Wrap

Second set up the frame buffer by adding : "vga=791 quiet" to your kernel options in your boot loader, in Grub2 ( which I use ) its the line starting with "linux" in the fisrst menu entry in the file /boot/grub/grub.cfg, I assume lilo is similar but I don't use it so if you do please consult the lilo documentation, update your bootloader as appoporiate.

Prepare a splash pic by grabbing a suitable picture eg::
http://www.technama.com/wp-content/u...r-1024x768.jpg
You will need to convert this to ppm format GIMP works fine or you can use imagemagic if you prefer as long as the size of the picture matches your frame buffer size ie 1024x768. And save it to ~/startup.ppm

Reboot and make sure your frame buffer is set up properly by switching to a vtty ( CTRL-ALT-F6 ) and entering this command:
Code:
/boot/initrd-tree/bin/busybox fbsplash -s ~/startup.ppm
If all is well you should see a nice pretty picture of tux,switch back to X ( ALT-F7 ), busybox will complain if the picture is the wrong size or format.

Third copy and paste the following two scripts into a text editor and save them to /etc/rc.d/rc.S-Wrap and /etc/rc.d/rc.M-Wrap ( you will need to be root for this ) eg:
Code:
sudo gedit

or

sudo vim
Then make them executable by using this command
Code:
sudo chmod +x /etc/rc.d/rc.S-Wrap /etc/rc.d/rc.M-Wrap
rc.S-Wrap:
Code:
#!/bin/sh

#rc.S-Wrap
#This is the wrapper for rc.S
#

if [ -f /etc/output.conf ];then
	. /etc/output.conf
else
#1st time so guess
	OUT_S=40
	OUT_M=40
fi

TOTAL=$((OUT_S+OUT_M))
MULTI=$(echo "scale=2; 100/$TOTAL" | bc -l)
COUNT=1

OUT_S_CHECK=0

#size of term
COLOUMNS=$(tput cols)
BOX=$(($(tput lines)-3))
TEXTLINE=$(($(tput lines)-2))


#log output
S_LOG="Starting rc.S\n"

STARTUP=/etc/rc.d/rc.S

#no kerenel messages
setterm -msg off -cursor off -foreground green
tput clear

/boot/initrd-tree/bin/busybox fbsplash -i /boot/GSplash/fb.config -f /boot/GSplash/fbfifo -s /boot/GSplash/startup.ppm &

"$STARTUP" &> /boot/GSplash/fifo &

while read DATA
	do
		OUT_S_CHECK=$((OUT_S_CHECK+1))
		#count number of echos for next time round
		echo "$COUNT\n" > /boot/GSplash/fbfifo
		COUNT=$(echo "scale=2; $COUNT+$MULTI" | bc -l)
		S_LOG=$(echo "${S_LOG}\n${DATA}")

		if [ ${#DATA} -lt $COLOUMNS ];then
			XPOS=$((COLOUMNS/2-${#DATA}/2))
		else
			XPOS=0
			DATA=${DATA:0:$COLOUMNS};
		fi
		tput cup $BOX 0
		setterm -clear rest
		tput cup $TEXTLINE $XPOS
		echo -en "$DATA"

	done < /boot/GSplash/fifo

#number of echos has changed
if (( OUT_S != OUT_S_CHECK ));then
	echo "OUT_S=$OUT_S_CHECK" > /boot/GSplash/output.conf.temp
fi

echo -e "$S_LOG" > /tmp/S_LOG
rc.M-Wrap:
Code:
#!/bin/sh

#rc.M-Wrap
#This is the wrapper for rc.M
#


if [ -f /etc/output.conf ];then
	. /etc/output.conf
else
#1st time so guess
	OUT_S=40
	OUT_M=40
fi

TOTAL=$((OUT_S+OUT_M))
MULTI=$(echo "scale=2; 100/$TOTAL" | bc -l)
COUNT=$(echo "scale=2; ($OUT_S*$MULTI)" | bc -l)

OUT_M_CHECK=0

#size of term
COLOUMNS=$(tput cols)
BOX=$(($(tput lines)-3))
TEXTLINE=$(($(tput lines)-2))

#log output
S_LOG="Starting rc.M\n"

STARTUP=/etc/rc.d/rc.M

( "$STARTUP";echo "EOFEOF" ) &> /boot/GSplash/fifo &

while read DATA
	do
                S_LOG=$(echo "${S_LOG}\n${DATA}")
		#we need this because rc.local don't exit ??
		if [ "X$DATA" != "XEOFEOF" ];then
			OUT_M_CHECK=$((OUT_M_CHECK+1))
		#count number of echos for next time round
			echo "$COUNT\n" > /boot/GSplash/fbfifo
			COUNT=$(echo "scale=2; $COUNT+$MULTI" | bc -l)
			#make it touch the end ( i'm anal that way )
			if [ $(echo "scale=2; $COUNT > 100 " | bc -l) = 1 ];then
				COUNT=100
			fi

			if (( ${#DATA} < COLOUMNS ));then
				XPOS=$((COLOUMNS/2-${#DATA}/2))
			else
				XPOS=0
				DATA=${DATA:0:$COLOUMNS}
			fi
			
			tput cup $BOX 0
			setterm -clear rest
			tput cup $TEXTLINE $XPOS
			echo -en "$DATA"
		else
			break;
		fi
	done < /boot/GSplash/fifo

if [ -f /boot/GSplash/output.conf.temp ];then
	#count changed
	mv /boot/GSplash/output.conf.temp /etc/output.conf
	echo "OUT_M=$OUT_M_CHECK" >> /etc/output.conf

elif (( OUT_M != OUT_M_CHECK ));then
	echo "OUT_S=$OUT_S" > /etc/output.conf
	echo "OUT_M=$OUT_M_CHECK" >> /etc/output.conf
fi

#log it and tdy up
echo -e "$S_LOG" >> /tmp/S_LOG
echo "exit\n" > /boot/GSplash/fbfifo
clear
setterm -default

exit 0
Next we need to change /etc/inittab so first back it up
Code:
sudo cp /etc/inittab /etc/inittab.BAK
then open the file as root
Code:
sudo gedit /etc/inittab
Find the line:"si:S:sysinit:/etc/rc.d/rc.S" ( in my inittab its line 27 ) and change it to "si:S:sysinit:/etc/rc.d/rc.S-Wrap".
Now find the line:"rc:2345:wait:/etc/rc.d/rc.M" ( in my inittab its line 33 ) and change it to "rc:2345:wait:/etc/rc.d/rc.M-Wrap" and save it

Check your changes thoroughly. now prepare the various files we need, you should already have a splash screen prepared from earlier.
Make a config file ( details later just copy and paste for now )
Code:
BAR_LEFT=312
BAR_TOP=550
BAR_WIDTH=400
BAR_HEIGHT=11
BAR_R=64
BAR_G=64
BAR_B=64
And save it as ~/fb.config
Now run the following commands
Code:
sudo mkdir /boot/GSplash
sudo mkfifo /boot/GSplash/fbfifo
sudo mkfifo /boot/GSplash/fifo
sudo cp ~/startup.ppm ~/fb.config /boot/GSplash
Reboot and ( hopefully! ) you will now have a nice graphical boot!

What does what:
The fb.config file is reasonably self explanatory, the first 4 lines set the size and shape of the progress bar and the last 3 lines set the background colour of the bar, there seems to be no way to change the foreground colours of the bar oh well!

The two "wrapper" scripts just capture the output of the real startup scripts and format them nicely to display at the bottom of the screen.

The two pipes are used to control the status bar ( /boot/GSplash/fbfifo ) and and pipe the output from the startup scripts to the wrapper scripts ( /boot/GSplash/fifo ), "why not just use the '|' to pipe the output to the wrappers" I hear you cry, simple I need to get some variables from inside the while loops to the main script, as the '|' command starts a subshell the parent script can't read the variables from the child proccess, creating a pipe gets around this problem.

When you first boot with this in place the scripts can not know how many startup items you have and so can't accurately set the progress bar so they count the number of lines echoed to the bottom of the screen ready for the next rebbot, if your startup changes the number of echoes to the wrappers the progress bar counts will be updated ready for the next boot but this should only happen when you add or remove a startup item/serveice.

There is also a log file created in /tmp/S_LOG in case you want to examine the details of the boot up, if you don't want a log just comment out the appropriate lines in rc.S-Wrap and rc.M-Wrap.

What you can customize:
The splash pic, just create a new one at /boot/GSplash/startup.ppm making sure that the size and type is set correctly.
The size, shape and background colour of the progress bar as defined in /boot/GSplash/fb.config
The text colour can be changed at line 33 of /etc/rc.d/rc.S-Wrap, see the setterm man page for details.

I hope some people find this useful, any problems, additions or if I've forgotton somthing please post.
Attached Images
File Type: jpg splash.jpg (36.2 KB, 250 views)

Last edited by Keith Hedger; 08-06-2010 at 05:18 AM. Reason: removed change to rc.local
 
Click here to see the post LQ members have rated as the most helpful post in this thread.
Old 08-02-2010, 05:35 PM   #2
manwichmakesameal
Member
 
Registered: Aug 2006
Distribution: Slackware
Posts: 800

Rep: Reputation: 100Reputation: 100
I was wondering if anyone was gonna put up a how to on this. I'm too lazy to figure it all out, sorry, but I will definitely be trying this how to out. Will have some feedback.
 
Old 08-02-2010, 08:34 PM   #3
lumak
Member
 
Registered: Aug 2008
Location: Phoenix
Distribution: Arch
Posts: 799
Blog Entries: 32

Rep: Reputation: 109Reputation: 109
Looks like we need another LQ wiki page.

Slackware-Guides-Graphical_Boot

Well that was a lot of information to try and summarize. Not sure it was even summarized... Either way, at least the wiki tags better define the steps needed and blocks everything up.

Last edited by lumak; 08-02-2010 at 10:44 PM.
 
Old 08-03-2010, 02:49 AM   #4
zvzi
Member
 
Registered: Aug 2003
Location: Malaysia
Distribution: slackware
Posts: 71

Rep: Reputation: 17
i will definitely try this out soon.
 
Old 08-03-2010, 02:16 PM   #5
Keith Hedger
Member
 
Registered: Jun 2010
Location: Devon,UK
Distribution: Linux From Scratch, Slackware64,
Posts: 874

Original Poster
Rep: Reputation: 174Reputation: 174
Quote:
Originally Posted by lumak View Post
Looks like we need another LQ wiki page.

Slackware-Guides-Graphical_Boot

....
Thanks I didn't even consider doing a wiki, you did a good job, I feel quite chuffed I must admit.
I've made one slight change to the rc.M-Wrap script I.ve moved the log line to the top of the loop that way the whole of the data sent by rc.M is saved to the log instead of the trimmed data that is printed at the bottom of the screen makes more sense that way.

If any one would like to post their start up screens you can add the line
Code:
/usr/bin/fbdump > /tmp/startup.ppm
after the end of the loop in ( ie the line after "done < /boot/GSplash/fifo" in rc.M-Wrap to dump a screenshot of your startup.

fbdump can be found here:
http://www.rcdrummond.net/fbdump/fbdump-0.4.2.tar.gz
There is also a slackbuild pending at SlackBuilds.org
remember to convert it to a jpeg first!
 
Old 08-03-2010, 09:25 PM   #6
lumak
Member
 
Registered: Aug 2008
Location: Phoenix
Distribution: Arch
Posts: 799
Blog Entries: 32

Rep: Reputation: 109Reputation: 109
NP, I did it mainly to force my self to read it. Either way, I recommended the "echo EOFEOF" be moved to the end of the original rc.M script. From the point of view of a proper setup, it makes more sense that it goes there instead of in the rc.local which is supposed to be more dynamic than the rc.M. As for tracking the 'end' of the start up scripts, you may also be able to find the PID of the script it self and track when it ends by checking for it.
 
Old 08-04-2010, 04:53 AM   #7
vst
LQ Newbie
 
Registered: Jul 2010
Location: Ukraine
Distribution: Slackware
Posts: 20

Rep: Reputation: 3
Very nice, what I like about this scheme is that it uses stock Slackware components! I've just found out that busybox is able to paint on the framebuffer! Wonderful. I will definitely be trying this stuff soon.
Thank you very much for the howto and the supplied scripts!

Cheers,
V'yacheslav.
 
Old 08-04-2010, 07:14 PM   #8
Keith Hedger
Member
 
Registered: Jun 2010
Location: Devon,UK
Distribution: Linux From Scratch, Slackware64,
Posts: 874

Original Poster
Rep: Reputation: 174Reputation: 174
Re the echo "EOFEOF" added to the end of rc.local or rc.M. I didn't like either way of doing this as rc.M is a system script and could be changed by an update without warning also as lumak pointed out rc.local is dynamic so I came up with a much better way of signaling the end of the rc.M script, simply change line 32 in the rc.M-Wrap script from ""$STARTUP" 2&> /boot/GSplash/fifo &" to "( "$STARTUP";echo "EOFEOF" ) &> /boot/GSplash/fifo &" that way you don't have to modify rc.M or rc.local.
The script above has been edited to reflect this change, lumak do you want to update the wiki or shall I?
I love that in Linux there's always a number of different ways to do do something!

Last edited by Keith Hedger; 08-04-2010 at 07:15 PM. Reason: ps
 
Old 08-05-2010, 10:49 PM   #9
afreitascs
Member
 
Registered: Aug 2004
Location: Brasil
Distribution: Slackware_Cur-64_mult
Posts: 433

Rep: Reputation: 30
I liked seeing different start slackware!
Thank you very much :-)
 
Old 08-06-2010, 05:40 AM   #10
Keith Hedger
Member
 
Registered: Jun 2010
Location: Devon,UK
Distribution: Linux From Scratch, Slackware64,
Posts: 874

Original Poster
Rep: Reputation: 174Reputation: 174
Well thanks everyone for the positive comments I have now added a wrapper script for a graphical shutdown/reboot like so:

Obviously you must be root to change any system files.
Back up your inittab and make sure you have a live cd handy in case anything goes wrong!

First copy this script:
Code:
#!/bin/sh

#rc.6-Wrap
#This is the wrapper for rc.6
#

# stop the GPM mouse server so it doesnt interfere with our pic
if [ -x /etc/rc.d/rc.gpm ]; then
	/etc/rc.d/rc.gpm stop &> /dev/null
fi

if [ -f /etc/outputsd.conf ];then
	. /etc/outputsd.conf
else
#1st time so guess
	OUT_6=400
fi

TOTAL=$OUT_6
MULTI=$(echo "scale=2; 100/$TOTAL" | bc -l)
COUNT=100

OUT_6_CHECK=0

#size of term
COLOUMNS=$(tput cols)
BOX=$(($(tput lines)-3))
TEXTLINE=$(($(tput lines)-2))

#scurrilously robbed from rc.6 ;)
# Find out how we were called.
case "$0" in
	*0-Wrap)
		STARTUP=/etc/rc.d/rc.0
		;;
	*6-Wrap)
		STARTUP=/etc/rc.d/rc.6
		;;
	*)
		echo "$0: call me as \"rc.0\" or \"rc.6\" please!"
		exit 1
		;;
esac

#no kerenel messages
setterm -msg off -cursor off -foreground green
tput clear

/boot/initrd-tree/bin/busybox fbsplash -i /boot/GSplash/fb.config -f /boot/GSplash/fbfifo -s /boot/GSplash/startup.ppm &

"$STARTUP" &> /boot/GSplash/fifo &

while read DATA
	do
		OUT_6_CHECK=$((OUT_6_CHECK+1))
		if [ "X$DATA" = "XUnmounting local file systems." ];then
		#number of echos has changed
			if (( OUT_6 != OUT_6_CHECK ));then
				OUT_6_CHECK=$((OUT_6_CHECK+1))
				echo "OUT_6=$OUT_6_CHECK" > /etc/outputsd.conf
			fi
		fi
		#count number of echos for next time round
		echo "$COUNT\n" > /boot/GSplash/fbfifo
		COUNT=$(echo "scale=2; $COUNT-$MULTI" | bc -l)

		if [ ${#DATA} -lt $COLOUMNS ];then
			XPOS=$((COLOUMNS/2-${#DATA}/2))
		else
			XPOS=0
			DATA=${DATA:0:$COLOUMNS};
		fi
		tput cup $BOX 0
		setterm -clear rest
		tput cup $TEXTLINE $XPOS
		echo -en "$DATA"

	done < /boot/GSplash/fifo
to /etc/rc.d/rc.6-Wrap and makeit executable by:
Code:
chmod +x /etc/rc.d/rc.6-Wrap
Then make these changes to /etc/inittab:
l0:0:wait:/etc/rc.d/rc.0 -> l0:0:wait:/etc/rc.d/rc.0-Wrap
l6:6:wait:/etc/rc.d/rc.6 -> l6:6:wait:/etc/rc.d/rc.6-Wrap

Link rc.0-Wrap to rc.6-Wrap
Code:
ln -sf /etc/rc.d/rc.6-Wrap /etc/rc.d/rc.0-Wrap
If you want a different shutdown picture just change line 49 to point to a different picture and progress bar config file ( ie "startup.ppm" and "fb.config" ), I use a different shutdown pic just because I can!
Enjoy!
 
Old 08-06-2010, 08:24 PM   #11
lumak
Member
 
Registered: Aug 2008
Location: Phoenix
Distribution: Arch
Posts: 799
Blog Entries: 32

Rep: Reputation: 109Reputation: 109
The nice thing about the wiki page is that any registered user can change it and a history of all the changes is logged and can be un done.

As for the scripts, being that they take up so much of the bulk of the display, I wonder if there is a better way to handle them on the wiki... If not just creating a new wiki page link that redirects to each script individually... perhaps asking the LQ moderators would clear this up.

Then again, you can always link to an anchor point on the page and the scripts could be moved to the bottom.

Last edited by lumak; 08-06-2010 at 08:27 PM.
 
Old 08-06-2010, 10:35 PM   #12
afreitascs
Member
 
Registered: Aug 2004
Location: Brasil
Distribution: Slackware_Cur-64_mult
Posts: 433

Rep: Reputation: 30
Quote:
Originally Posted by [B
Keith Hedger[/B]
If any one would like to post their start up screens you can add the line
Code:
/usr/bin/fbdump > /tmp/startup.ppm
after the end of the loop in ( ie the line after "done < /boot/GSplash/fifo" in rc.M-Wrap to dump a screenshot of your startup.

fbdump can be found here:
http://www.rcdrummond.net/fbdump/fbdump-0.4.2.tar.gz
There is also a slackbuild pending at SlackBuilds.org
remember to convert it to a jpeg first!
Could not do it to make it work ...
Installed fbdump !

part of my /etc/rc.d/rc.M-Wrap, "which I suppose must be the line ...


Quote:
,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,,,,,,
setterm -clear rest
tput cup $TEXTLINE $XPOS
echo -en "$DATA"
else
break;
fi
done < /boot/GSplash/fifo
/usr/bin/fbdump > /tmp/startup2.ppm

if [ -f /boot/GSplash/output.conf.temp ];then
,,,,,,,,,,,,,,,,,
,,,,,,,,,,,,,,,,

The startup.ppm generated in / tmp does not open, and has 0 KB in size

Thanks :-)

Last edited by afreitascs; 08-06-2010 at 10:37 PM.
 
Old 08-07-2010, 05:35 AM   #13
Keith Hedger
Member
 
Registered: Jun 2010
Location: Devon,UK
Distribution: Linux From Scratch, Slackware64,
Posts: 874

Original Poster
Rep: Reputation: 174Reputation: 174
afreitascs what happens if you use fbdump from a virtual terminal does it create a picture?
This is from the readme file included with fbdump:
Usage
-----

fbdump currently supports the following arguments:

-fb <string> Specifies the framebuffer device to grab from is <string>
-vt <num> Bring virtual terminal number <num> to the foreground before
grabbing (and return to the current terminal afterwards).
-delay <num> Delay <num> seconds after switching, but before grabbing.

If the -fb option is not provided, fbdump defaults to grabbing from the
device /dev/fb0. You can also specify the framebuffer via the environment
variable FRAMEBUFFER (a value supplied with -fb switch on the command line
will override this). For example:

FRAMEBUFFER=/dev/fb1 fbdump >out.ppm

Try setting the framebuffer device explicitly.
Also try adding 2>/tmp/fbdump.log to the end of the fbdump command and see what the error is.

Last edited by Keith Hedger; 08-07-2010 at 06:21 AM.
 
Old 08-07-2010, 01:41 PM   #14
afreitascs
Member
 
Registered: Aug 2004
Location: Brasil
Distribution: Slackware_Cur-64_mult
Posts: 433

Rep: Reputation: 30
Quote:
Originally Posted by Keith Hedger View Post
afreitascs what happens if you use fbdump from a virtual terminal does it create a picture?
This is from the readme file included with fbdump:
Usage
-----

fbdump currently supports the following arguments:

-fb <string> Specifies the framebuffer device to grab from is <string>
-vt <num> Bring virtual terminal number <num> to the foreground before
grabbing (and return to the current terminal afterwards).
-delay <num> Delay <num> seconds after switching, but before grabbing.

If the -fb option is not provided, fbdump defaults to grabbing from the
device /dev/fb0. You can also specify the framebuffer via the environment
variable FRAMEBUFFER (a value supplied with -fb switch on the command line
will override this). For example:

FRAMEBUFFER=/dev/fb1 fbdump >out.ppm

Try setting the framebuffer device explicitly.
Also try adding 2>/tmp/fbdump.log to the end of the fbdump command and see what the error is.
Sorry, my mistake was!
fbdump is executable in /usr/local/bin and not/usr/bin ....in my case

Here is my startup ...(in jpeg due to the server hosting the image)

http://yfrog.com/n5startupj

Please ask another question:

Because the cursor disappears at the end of the boot (init 3)?

If I leave the X, the cursor still missing ...

Thanks very much :-)
 
Old 08-07-2010, 02:01 PM   #15
Keith Hedger
Member
 
Registered: Jun 2010
Location: Devon,UK
Distribution: Linux From Scratch, Slackware64,
Posts: 874

Original Poster
Rep: Reputation: 174Reputation: 174
Quote:
Originally Posted by afreitascs View Post
Please ask another question:

Because the cursor disappears at the end of the boot (init 3)?

If I leave the X, the cursor still missing ...

Thanks very much :-)
Not too sure what you're asking but at the beginning of rc.S-Wrap the cursor is turned off for the vtty, this is the line:
Code:
setterm -msg off -cursor off -foreground red
at the end of rc.M-Wrap the terminal is set to the default
Code:
setterm -default
Which should have turned the cursor back on you may have to turn it back on explicitly ie
Code:
setterm -cursor on
Hope this helps
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Poor man's graphical boot in Slackware 13.X... LuckyCyborg Slackware 38 05-21-2011 11:33 AM
Poor Man's VPN on smartphone - Putty Fatal error WSAEventSelect(): SOCKET_ERROR " Wildebeest2010 Linux - Software 1 02-15-2010 01:41 PM
Display a picture file as a poor-man's splash screen fudam Linux - General 1 12-01-2006 06:15 AM
Wanna do a poor man's slacktop... papa0822 Linux - Laptop and Netbook 2 10-12-2004 06:59 PM
Poor man's dual monitor (using two linux boxes)) alexferrer Linux - General 8 05-22-2003 03:02 PM


All times are GMT -5. The time now is 10:33 AM.

Main Menu
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration