Kubuntu 12.04 boot to text mode

Discussion in 'Desktop Operation' started by tboz203, Jul 3, 2012.

  1. tboz203

    tboz203 New Member

    I am attempting to configure Kubuntu 12.04 to boot by default in text mode. The
    power usage and boot delay are slowly becoming unattractive.

    I've modified my grub.cfg (no, not directly) to the tune of:
    Code:
    #GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
    GRUB_CMDLINE_LINUX_DEFAULT="text"
    GRUB_TERMINAL=console
    I've run update-grub2, and am certain these settings have taken effect because
    the splash screen no longer displays, but it still boots to KDE.

    I've done some light reading on initscripts/upstart/runlevels, and suspect that
    these will get me what i'm looking for, but don't really know where to make my
    changes without potentially crippling the system.

    I have read a number of threads that report that the grub method was successful,
    but nothing that dealt with Kubuntu or precise pangolin. These are the only
    differences i see that might be causing these results.

    Any help is appreciated.
    Thanks in advance.
     
  2. tboz203

    tboz203 New Member

    Update:

    Update: Nearly certain that kubuntu is what is making this difficult. Made the same modifications in grub to ubuntu 10.04, and it booted in text mode. Am now comparing boot sequence differences between 10.04 text mode, 10.04 graphical mode, and kubuntu.
     
  3. falko

    falko Super Moderator ISPConfig Developer

    I guess KDE is started by some init script in /etc/init.d/. Can you post the output of
    Code:
    ls -l /etc/init.d/
    ?
     
  4. sjau

    sjau Local Meanie Moderator

    what do you mean to boot in text mode?

    Do you want to see just text at boot up instead of the start image but then still enter KDE

    Or do you want to boot up without start X/KDE?
     
  5. tboz203

    tboz203 New Member

    Update: solved

    jau: The second; disable X and KDE until i manually run "$ startx" or somesuch.

    Falko: the output of "$ ll /etc/init.d/"
    Code:
    total 192
    lrwxrwxrwx 1 root root   21 Dec  8  2011 acpid -> /lib/init/upstart-job
    -rwxr-xr-x 1 root root  652 Jan  4  2010 acpi-support
    lrwxrwxrwx 1 root root   21 Apr  3 23:12 alsa-restore -> /lib/init/upstart-job
    lrwxrwxrwx 1 root root   21 Apr  3 23:12 alsa-store -> /lib/init/upstart-job
    lrwxrwxrwx 1 root root   21 Jun 20  2010 anacron -> /lib/init/upstart-job
    -rwxr-xr-x 1 root root 7621 Feb  6 22:16 apache2
    -rwxr-xr-x 1 root root 4596 Apr 12 06:17 apparmor
    lrwxrwxrwx 1 root root   21 May 22 19:47 apport -> /lib/init/upstart-job
    lrwxrwxrwx 1 root root   21 Oct 25  2011 atd -> /lib/init/upstart-job
    lrwxrwxrwx 1 root root   21 Dec 17  2011 avahi-daemon -> /lib/init/upstart-job
    lrwxrwxrwx 1 root root   21 Nov 25  2011 binfmt-support -> /lib/init/upstart-job
    lrwxrwxrwx 1 root root   21 Mar 21 16:05 bluetooth -> /lib/init/upstart-job
    -rwxr-xr-x 1 root root 2444 Apr 14 04:26 bootlogd
    -rwxr-xr-x 1 root root 2125 Mar  1  2011 brltty
    lrwxrwxrwx 1 root root   21 Apr 19 11:18 console-setup -> /lib/init/upstart-job
    lrwxrwxrwx 1 root root   21 Jun 19 15:26 cron -> /lib/init/upstart-job
    -rwxr-xr-x 1 root root  922 Mar  8 14:40 cryptdisks
    -rwxr-xr-x 1 root root  871 Mar  8 14:40 cryptdisks-early
    lrwxrwxrwx 1 root root   21 Apr 13 23:03 cryptdisks-enable -> /lib/init/upstart-job
    lrwxrwxrwx 1 root root   21 Apr 13 23:03 cryptdisks-udev -> /lib/init/upstart-job
    lrwxrwxrwx 1 root root   21 May 25 01:52 cups -> /lib/init/upstart-job
    lrwxrwxrwx 1 root root   21 Feb 22 02:47 dbus -> /lib/init/upstart-job
    lrwxrwxrwx 1 root root   21 Mar 30 12:22 dmesg -> /lib/init/upstart-job
    -rwxr-xr-x 1 root root 1242 Dec 13  2011 dns-clean
    lrwxrwxrwx 1 root root   21 Mar 14 09:02 friendly-recovery -> /lib/init/upstart-job
    -rwxr-xr-x 1 root root 3997 Feb  7 07:31 gpsd
    -rwxr-xr-x 1 root root 1105 Apr 17 12:53 grub-common
    -rwxr-xr-x 1 root root 1329 Apr 14 04:26 halt
    lrwxrwxrwx 1 root root   21 May 26  2011 hostname -> /lib/init/upstart-job
    lrwxrwxrwx 1 root root   21 Mar 29 23:49 hwclock -> /lib/init/upstart-job
    lrwxrwxrwx 1 root root   21 Mar 29 23:49 hwclock-save -> /lib/init/upstart-job
    lrwxrwxrwx 1 root root   21 Feb  3 23:33 irqbalance -> /lib/init/upstart-job
    lrwxrwxrwx 1 root root   21 Jun 24 16:56 kdm -> /lib/init/upstart-job
    -rwxr-xr-x 1 root root 1893 Apr 18 17:48 kerneloops
    -rwxr-xr-x 1 root root 1293 Apr 14 04:26 killprocs
    lrwxrwxrwx 1 root root   21 Mar 24 07:42 modemmanager -> /lib/init/upstart-job
    lrwxrwxrwx 1 root root   21 Nov 20  2011 module-init-tools -> /lib/init/upstart-job
    -rwxr-xr-x 1 root root 2797 Feb 13 12:19 networking
    lrwxrwxrwx 1 root root   21 Apr  4 20:22 network-interface -> /lib/init/upstart-job
    lrwxrwxrwx 1 root root   21 Apr  4 20:22 network-interface-container -> /lib/init/upstart-job
    lrwxrwxrwx 1 root root   21 Apr  4 20:22 network-interface-security -> /lib/init/upstart-job
    lrwxrwxrwx 1 root root   21 May 24 23:01 network-manager -> /lib/init/upstart-job
    lrwxrwxrwx 1 root root   21 Jun  8 17:52 nmbd -> /lib/init/upstart-job
    -rwxr-xr-x 1 root root  882 Apr 14 04:26 ondemand
    lrwxrwxrwx 1 root root   21 Apr 13 10:35 plymouth -> /lib/init/upstart-job
    lrwxrwxrwx 1 root root   21 Apr 13 10:35 plymouth-log -> /lib/init/upstart-job
    lrwxrwxrwx 1 root root   21 Apr 13 10:35 plymouth-splash -> /lib/init/upstart-job
    lrwxrwxrwx 1 root root   21 Apr 13 10:35 plymouth-stop -> /lib/init/upstart-job
    lrwxrwxrwx 1 root root   21 Apr 13 10:35 plymouth-upstart-bridge -> /lib/init/upstart-job
    -rwxr-xr-x 1 root root  561 Feb  4  2011 pppd-dns
    lrwxrwxrwx 1 root root   21 Dec 12  2011 procps -> /lib/init/upstart-job
    -rwxr-xr-x 1 root root 2180 Apr 12 00:16 pulseaudio
    -rwxr-xr-x 1 root root 8635 Apr 14 04:26 rc
    -rwxr-xr-x 1 root root  801 Apr 14 04:26 rc.local
    -rwxr-xr-x 1 root root  117 Apr 14 04:26 rcS
    -rw-r--r-- 1 root root 2427 Apr 14 04:26 README
    -rwxr-xr-x 1 root root  639 Apr 14 04:26 reboot
    lrwxrwxrwx 1 root root   21 May 14 11:42 resolvconf -> /lib/init/upstart-job
    lrwxrwxrwx 1 root root   21 Mar 22 16:01 rfkill-restore -> /lib/init/upstart-job
    lrwxrwxrwx 1 root root   21 Mar 22 16:01 rfkill-store -> /lib/init/upstart-job
    -rwxr-xr-x 1 root root 4395 Nov  8  2011 rsync
    lrwxrwxrwx 1 root root   21 Mar 30 12:22 rsyslog -> /lib/init/upstart-job
    -rwxr-xr-x 1 root root 2344 Dec  4  2011 saned
    lrwxrwxrwx 1 root root   21 Jun  6  2011 screen-cleanup -> /lib/init/upstart-job
    -rwxr-xr-x 1 root root 4321 Apr 14 04:26 sendsigs
    lrwxrwxrwx 1 root root   21 Apr 19 11:18 setvtrgb -> /lib/init/upstart-job
    -rwxr-xr-x 1 root root  590 Apr 14 04:26 single
    -rw-r--r-- 1 root root 4304 Apr 14 04:26 skeleton
    lrwxrwxrwx 1 root root   21 Jun  8 17:52 smbd -> /lib/init/upstart-job
    -rwxr-xr-x 1 root root 4371 Apr  2 06:49 ssh
    -rwxr-xr-x 1 root root  567 Apr 14 04:26 stop-bootlogd
    -rwxr-xr-x 1 root root 1143 Apr 14 04:26 stop-bootlogd-single
    -rwxr-xr-x 1 root root  700 Oct 26  2011 sudo
    -rwxr-xr-x 1 root root 1603 Dec  3  2011 sysstat
    lrwxrwxrwx 1 root root   21 Apr  5 14:17 udev -> /lib/init/upstart-job
    lrwxrwxrwx 1 root root   21 Apr  5 14:17 udev-fallback-graphics -> /lib/init/upstart-job
    lrwxrwxrwx 1 root root   21 Apr  5 14:17 udev-finish -> /lib/init/upstart-job
    lrwxrwxrwx 1 root root   21 Apr  5 14:17 udevmonitor -> /lib/init/upstart-job
    lrwxrwxrwx 1 root root   21 Apr  5 14:17 udevtrigger -> /lib/init/upstart-job
    lrwxrwxrwx 1 root root   21 Apr  5 13:16 ufw -> /lib/init/upstart-job
    -rwxr-xr-x 1 root root 2800 Apr 14 04:26 umountfs
    -rwxr-xr-x 1 root root 2211 Apr 14 04:26 umountnfs.sh
    -rwxr-xr-x 1 root root 2926 Apr 14 04:26 umountroot
    -rwxr-xr-x 1 root root 1039 Nov  9  2011 unattended-upgrades
    -rwxr-xr-x 1 root root 1985 Apr 14 04:26 urandom
    -rwxr-xr-x 1 root root 6138 Apr  5 05:24 virtualbox
    -rwxr-xr-x 1 root root 2666 Mar 22 12:35 x11-common
    So the kdm is an upstart job. I took a look at /etc/init/kdm.conf and did some
    more googling on GRUB_CMDLINE_LINUX. According to
    http://askubuntu.com/questions/16371/how-to-disable-x-at-boot-time (because i assume
    the .conf files would be at least vaguely similar across desktop managers),
    there ought to be a statement in kdm.conf that checks for the 'text' argument.
    Here is the original file:
    Code:
    # kdm - KDE Display Manager
    #
    # The display manager service manages the X servers running on the
    # system, providing login and auto-login services
    
    description     "K Display Manager"
    author          "Richard Johnson"  
    
    start on ((filesystem
               and runlevel [!06]
               and started dbus
               and (drm-device-added card0 PRIMARY_DEVICE_FOR_DISPLAY=1
                    or stopped udev-fallback-graphics))
              or runlevel PREVLEVEL=S)
    
    stop on runlevel [016]
    
    emits login-session-start
    emits desktop-session-start
    emits desktop-shutdown
    
    env XORGCONFIG=/etc/X11/xorg.conf
    
    script
        if [ -n "$UPSTART_EVENTS" ]
        then
        [ ! -f /etc/X11/default-display-manager -o "$(cat /etc/X11/default-display-manager 2>/dev/null)" = "/usr/bin/kdm" ] || { stop; exit 0; }
    
            if [ "$RUNLEVEL" = S -o "$RUNLEVEL" = 1 ]
            then
                # Single-user mode
                plymouth quit || :
                exit 0
            fi
        fi
    
        if [ -r /etc/default/locale ]; then
            . /etc/default/locale
            export LANG LANGUAGE LC_MESSAGES
        elif [ -r /etc/environment ]; then
            . /etc/environment
            export LANG LANGUAGE LC_MESSAGES
        fi
        export XORGCONFIG
    
        exec kdm
    end script
    
    post-stop script
        if [ "$UPSTART_STOP_EVENTS" = runlevel ]; then
            initctl emit desktop-shutdown
        fi
    end script
    after reviewing the file, i added the following statement between the upstart arguments
    block and the /etc/default/locale block:
    Code:
        # check kernel command-line for inhibitors, unless we are being called
        # manually
        for ARG in $(cat /proc/cmdline); do
            if [ "$ARG" = "text" ]; then
                plymouth quit || :
                stop
                exit 0
            fi
        done
    This seems to work: i am having some slight issues subsequently restarting kde, and will post any relevant information here.

    Thank you both for your input.
    -tboz203
     

Share This Page