Marius van Witzenburg We fight for our survival, we fight!

12jun/110

Test your console if it can display 256 colors with Perl

Posted by mariusvw

With this script you can test which colors your console can display.

You will simply see all the supported colors on your console.

#!/usr/bin/perl
# Author: Todd Larason <jtl@molehill.org>
# $XFree86: xc/programs/xterm/vttests/256colors2.pl,v 1.1 1999/07/11 08:49:54 dawes Exp $
 
# use the resources for colors 0-15 - usually more-or-less a
# reproduction of the standard ANSI colors, but possibly more
# pleasing shades
 
# colors 16-231 are a 6x6x6 color cube
for ($red = 0; $red < 6; $red++) {
	for ($green = 0; $green < 6; $green++) {
		for ($blue = 0; $blue < 6; $blue++) {
	    	printf("\x1b]4;%d;rgb:%2.2x/%2.2x/%2.2x\x1b\\",
		   	16 + ($red * 36) + ($green * 6) + $blue,
		   	int ($red * 42.5),
		   	int ($green * 42.5),
		   	int ($blue * 42.5));
		}
	}
}
 
# colors 232-255 are a grayscale ramp, intentionally leaving out
# black and white
for ($gray = 0; $gray < 24; $gray++) {
	$level = ($gray * 10) + 8;
	printf("\x1b]4;%d;rgb:%2.2x/%2.2x/%2.2x\x1b\\", 232 + $gray, $level, $level, $level);
}
 
 
# display the colors
 
# first the system ones:
print "System colors:\n";
for ($color = 0; $color < 8; $color++) {
	print "\x1b[48;5;${color}m  ";
}
print "\x1b[0m\n";
for ($color = 8; $color < 16; $color++) {
	print "\x1b[48;5;${color}m  ";
}
print "\x1b[0m\n\n";
 
# now the color cube
print "Color cube, 6x6x6:\n";
for ($green = 0; $green < 6; $green++) {
	for ($red = 0; $red < 6; $red++) {
		for ($blue = 0; $blue < 6; $blue++) {
	    	$color = 16 + ($red * 36) + ($green * 6) + $blue;
	    	print "\x1b[48;5;${color}m  ";
		}
		print "\x1b[0m ";
	}
	print "\n";
}
 
 
# now the grayscale ramp
print "Grayscale ramp:\n";
for ($color = 232; $color < 256; $color++) {
	print "\x1b[48;5;${color}m  ";
}
print "\x1b[0m\n";
Geëtiketeerd als: , , , , Geen reacties
10jun/112

How to set UTF-8 as system default on FreeBSD

Posted by mariusvw

Setting UTF-8 support on FreeBSD as a default is quite simple.

Edit the file /etc/login.conf and add these two lines to the default block, note the trailing backslash! You need to close all lines except the last one with a backslash.

    :charset=UTF-8:\
    :lang=en_US.UTF-8:

Save the file and run the following command:

/usr/bin/cap_mkdb /etc/login.conf

Now logout and login and you have a UTF-8 aware shell ;-)

In case you use GNU Screen you should not have to worry about changes in the .screensrc like defutf8 on. Just leave them default and it should work fine.

In case some programs run into problems it might be required to change another line in login.conf:

Locate:

:setenv=MAIL=/var/mail/$,BLOCKSIZE=K,FTP_PASSIVE_MODE=YES:\

Change to

:setenv=MAIL=/var/mail/$,BLOCKSIZE=K,FTP_PASSIVE_MODE=YES,LC_COLLATE=C:\

The above should help you out to fix UTF-8 on your SSH console and such, another thing you need to add to your kernel options is this:

options TEKEN_UTF8

Note that you might need to adjust /etc/ttys and change 'cons25' to 'xterm'.

Geëtiketeerd als: , , , , 2 Reacties