Console Font Problem

Hi Everybody.
I want to use terminus fonts for my console & tty’s (ctrl+alt+f n). i ve installed terminus package from repo. i could use them with the ‘setfont’ command,but i want it permanently.
I ve edited /etc/sysconfig/etc and changed the console font to terminus.
but when restart the system it doesn’t apply:(
Any solutions?

What happens if you edit the file /etc/sysconfig/console as root and change the following line to the font you want to use?:

CONSOLE_FONT="lat9w-16.psfu"

Then restart and see what you get? You can edit any system file as root using this bash script:

SYSEdit - System File Editor - Version 1.50 - Blogs - openSUSE Forums

You can edit any system file from Dolphin (or other file manager) as a normal user by selecting Open With fewrup when you install this bash script:

fewrup - File Editor With Root or User Permissions - Blogs - openSUSE Forums

Thank You,

Thanks dude,but I think you dont read my post completely, i do what you say before your post but make a mistake in post, i 've edited /etc/sysconfig/console file;)
but it won’t apply!:frowning:

Anybody ,helllllllllllp me please:(

Test whether it works without plymouth (plymouth.enable=0 on kernel command line).

I just tried and if I press ESC when the bootsplash appears to get to the messages it works, otherwise not.

So I guess plymouth.enable=0 should help, or splash=verbose or splash=none, but I haven’t tried that…

Looks like this is the same as Access Denied

So the instructions seem to be, save the following text file as root for openSUSE 12.2 and 12.3 (I see /lib to /usr/lib for factory in future?):

/lib/mkinitrd/scripts/setup-vconsole.sh

#!/bin/bash
#
#%stage: setup
#%depends: start
#

function add_to_include()
{
    local t gz
    case $1 in
    *.gz )
        gz="gzip -cd"
    ;;
    * )
        gz=cat
    ;;
    esac
    t=$($gz $1 | grep '^include' | awk '{print $2}' | tr -d \")
    [ "$t" ] && includes=( ${includes[@]} $t )
}

mkdir -p $tmp_mnt/etc/sysconfig

if [ -e /etc/sysconfig/console ]; then
    . /etc/sysconfig/console
    cp -p /etc/sysconfig/console $tmp_mnt/etc/sysconfig
fi

if [ -e /etc/sysconfig/keyboard ]; then
    . /etc/sysconfig/keyboard
    cp -p /etc/sysconfig/keyboard $tmp_mnt/etc/sysconfig
fi

includes=()
for f in $COMPOSETABLE; do
    [ "$f" = "clear" ] && continue
    for i in $(find /usr/share/kbd -name compose.$f -o -name $f.inc -o -name compose.$f.gz); do
    echo $i | cpio -pmdu --quiet $tmp_mnt
    add_to_include $i
    done
done

for f in $KEYTABLE; do
    for i in $(find /usr/share/kbd -name $f -o -name $f.inc -o -name $f.gz ); do
    echo $i | cpio -pmdu --quiet $tmp_mnt
    add_to_include $i
    done
done

while true; do
    list=( ${includes[@]} )
    includes=()
    [ ${#list
[li]} -eq 0 ] && break[/li]    for l in ${list[@]}; do
    for i in $(find /usr/share/kbd -name $l -o -name $l.inc -o -name $l.gz); do
        echo $i | cpio -pmdu --quiet $tmp_mnt
        add_to_include $i
    done
    done
done

for f in $CONSOLE_FONT $CONSOLE_SCREENMAP $CONSOLE_UNICODEMAP; do
    [ "$f" = "none" ] && continue
    find /usr/share/kbd -name $f -o -name $f.gz | cpio -pmdu --quiet $tmp_mnt
done

mkdir -p $tmp_mnt/lib/systemd
cp -p /lib/systemd/systemd-vconsole-setup $tmp_mnt/lib/systemd

[ -f /etc/sysconfig/language ] && . /etc/sysconfig/language
vconsole_ctype=$RC_LC_ALL
[ "$vconsole_ctype" ] || vconsole_ctype=$RC_LC_CTYPE
[ "$vconsole_ctype" ] || vconsole_ctype=$RC_LANG
save_var vconsole_ctype

language=${vconsole_ctype%.*}
codeset=${vconsole_ctype#*.}

if [ -n "$vconsole_ctype" -a -d /usr/lib/$vconsole_ctype ]; then
    find /usr/lib/locale/$vconsole_ctype | cpio -pmdu --quiet $tmp_mnt
elif [ -n "$language" -a "$codeset" = UTF-8 ]; then
    d=/usr/lib/locale/$language.utf8
    [ -d $d ] && find $d | cpio -pmdu --quiet $tmp_mnt
fi

save_var use_vconsole 1

true

Then run this to make it executable:

sudo chmod +x /lib/mkinitrd/scripts/setup-vconsole.sh

And then this to upgrade the Initrd image:

sudo /sbin/mkinitrd  -f vconsole

Thank You,

Thank you guys all. I didn’t know it’s a bug.
It solved by the instruction in the https://bugzilla.novell.com/show_bug.cgi?id=780516.
I have tumbleweed repos,so get the factory patch (boot-vscreen & setup-vscreen) and so coooool:D

I reup this old thread to ask how to solve the same problem with opensuse 13.1: systemd doesn’t digest that script properly.

Any ideas?

What script are you talking about and what "systemd doesn’t digest’ means?

The one linked above by jdmcdaniel3.

If I copy it into /lib/mkinitrd/scripts, sudo /sbin/mkinitrd -f vconsole complains about


[WARNING] Feature "vconsole" not found. A typo?
cp: cannot stat ‘/lib/systemd/systemd-vconsole-setup’: No such file or directory

On 13.1 that file is located in /usr/lib/systemd/ instead of /lib/systemd/, so change that accordingly in the script:

mkdir -p $tmp_mnt/usr/lib/systemd
cp -p /usr/lib/systemd/systemd-vconsole-setup $tmp_mnt/usr/lib/systemd

Thanks for your reply.
Unfortunately mkinitrd still complains:\


[WARNING] Feature "vconsole" not found. A typo? 

In addition to setup-* script you also need boot-* script. Please see bug referred to in this thread.

Thanks, it works now.

Will I have to manually run mkinitrd -f vconsole every time I update the kernel?
If so, is there a way to make it a default feature?

You can add vconsole to ADDITIONAL_FEATURES in /etc/sysconfig/kernel (variable is not documented there).

Works a charm now, thanks a lot!:good:

Reupping the thread again: are there changes to be made for 13.2 ?

Regards

No idea. Try and tell us? :slight_smile: