LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   How can I get Slackware64 14.2 to boot XFCE4 Graphical Login? (https://www.linuxquestions.org/questions/slackware-14/how-can-i-get-slackware64-14-2-to-boot-xfce4-graphical-login-4175660039/)

jrch 08-29-2019 05:53 PM

How can I get Slackware64 14.2 to boot XFCE4 Graphical Login?
 
Title says it all. Trying to set up a Slack64 14.2 computer for my wife, who does not appreciate (!) the long POST lines and the bare-bones login at command line. Can't say I blame her.

I have seen some linux machines come up with a graphical login in the default window manager, so I know it can be done. However, following the only Slackware guidance I can find, (Slackdocs Start -> Slackware -> Install), I see instrux to change the 'runlevel' from 3 to 4, in /etc/inittab. This does not work as desired.

This only (very belatedly, after many lines of POST) gives a KDE login screen, which is not wanted. I much prefer XFCE4, which I've used for a long time. I found some documentation which even says Slackware 'does not have' a runlevel corresponding to XFCE for login. I sure hope this is not true.

Would appreciate any help getting a graphical XFCE4 login to work in Slackware64 (multilib).

[edit] Well, only posts I see pretty much say XFCE 'does not have a login screen'. So I'm probably wasting peoples' time. That's a shame.

Logging in via the 'KDE' screen does NOT then go to XFCE4, as some claim. I have full KDE install except for KDEI. Even if it did work, one then has to log out apparently with KDE again. Nuts.

This is an obvious shortcoming for XFCE, an obvious project for a 'software engineer' (ha).

Will probably remove this post soon...[end edit]

Many thanks for any suggestions other than what I have listed above.

jrc

TracyTiger 08-29-2019 06:15 PM

Don't give up. It's not hard to get a graphical login after POST. I usually set this up for friends by simply setting the default in /etc/inittab to '4' and have the default desktop environment set to XFCE when I install the system.

I do everything by editing files but others can respond with the basic commands to change the default graphic environment and choice of graphical login programs.

EDIT: I believe you can also hide the text during bootup with a splash screen. Use the firmware/BIOS to select a corporate logo to hide the first part. I've forgotten how to hide the Linux boot sequence text.

Second EDIT: On machines I share with my wife the machine boots to run level 3 and she types in her userid and password then types the command "startx". The desktop environment defaults to XFCE.

fido_dogstoyevsky 08-29-2019 06:18 PM

Quote:

Originally Posted by jrch (Post 6031128)
Title says it all. Trying to set up a Slack64 14.2 computer for my wife, who does not appreciate (!) the long POST lines and the bare-bones login at command line. Can't say I blame her.

I have seen some linux machines come up with a graphical login in the default window manager, so I know it can be done. However, following the only Slackware guidance I can find, (Slackdocs Start -> Slackware -> Install), I see instrux to change the 'runlevel' from 3 to 4, in /etc/inittab. This does not work as desired.

This only (very belatedly, after many lines of POST) gives a KDE login screen, which is not wanted...

KDE user here, but have you looked at http://docs.slackware.com/slackware:...op_environment?

A bit of a "is there petrol in the tank" question, but have you (as root) run xwmconfig to select Xfce?

abga 08-29-2019 06:47 PM

@jrch
I'm using xfce myself but never considered to boot Slackware directly into graphic mode, sorry I'm a console guy.
Since you already modified /etc/inittab, next step is to set Xfce as default - as advised by fido_dogstoyevsky
Then you might want to take a look at /etc/rc.d/rc.4 - this "very" old post could be of some help:
https://bovitron.com/blogostu/2012/0...ackware-13-37/

Richard Cranium 08-29-2019 10:12 PM

Quote:

Originally Posted by jrch (Post 6031128)
Title says it all. Trying to set up a Slack64 14.2 computer for my wife, who does not appreciate (!) the long POST lines and the bare-bones login at command line. Can't say I blame her.

I have seen some linux machines come up with a graphical login in the default window manager, so I know it can be done. However, following the only Slackware guidance I can find, (Slackdocs Start -> Slackware -> Install), I see instrux to change the 'runlevel' from 3 to 4, in /etc/inittab. This does not work as desired.

This only (very belatedly, after many lines of POST) gives a KDE login screen, which is not wanted. I much prefer XFCE4, which I've used for a long time. I found some documentation which even says Slackware 'does not have' a runlevel corresponding to XFCE for login. I sure hope this is not true.

Would appreciate any help getting a graphical XFCE4 login to work in Slackware64 (multilib).

[edit] Well, only posts I see pretty much say XFCE 'does not have a login screen'. So I'm probably wasting peoples' time. That's a shame.

Logging in via the 'KDE' screen does NOT then go to XFCE4, as some claim. I have full KDE install except for KDEI. Even if it did work, one then has to log out apparently with KDE again. Nuts.

This is an obvious shortcoming for XFCE, an obvious project for a 'software engineer' (ha).

Will probably remove this post soon...[end edit]

Many thanks for any suggestions other than what I have listed above.

jrc

I use the KDE login screen to go to XFCE4 all the time.

There's a button that looks like an arrow pointing down. Click it. Select "Xfce session". Add your credentials and log in.

Alien Bob 08-30-2019 01:59 AM

Quote:

Originally Posted by Richard Cranium (Post 6031192)
I use the KDE login screen to go to XFCE4 all the time.

There's a button that looks like an arrow pointing down. Click it. Select "Xfce session". Add your credentials and log in.

ALso: once you have started an XFCE session that way, the next time you boot your computer / the next time you want to login, that XFCE session will be the default choice. Therefore you only need to use that dropdown menu once.

luvr 08-30-2019 05:27 AM

Quote:

Originally Posted by jrch (Post 6031128)
Would appreciate any help getting a graphical XFCE4 login to work in Slackware64 (multilib).

First step is, indeed, setting the runlevel to 4.
Rebooting then gives you the KDE Display Manager. You can select the XFCE session from there, but I don't remember how.

If you don't want the KDE Display Manager, then you can edit a script (I think it is called 'rc.4' somewhere under the '/etc' directory), or you can patch in support for a local, user-defined script that can select a different display manager (as I have done; "-current" has this support built in).

If you want, then I can post my graphical login script here later on when I get home.

0XBF 08-30-2019 09:47 AM

There are also alternative graphical login managers available on slackbuilds.org. I used to use slim (lightweight login manager, https://slackbuilds.org/repository/14.2/system/slim/) when I was running XFCE cause it was easy to theme.

You will still have to set the default runlevel to 4 in inittab, and edit the /etc/rc.d/rc.4 script to point it to slim (the slackbuild includes a readme with how to do this).

drgibbon 08-30-2019 09:50 AM

*edit* way too late, everyone already said this ;)

Quote:

Originally Posted by jrch (Post 6031128)
Would appreciate any help getting a graphical XFCE4 login to work in Slackware64 (multilib).

A graphical login manager (loaded when /etc/inittab is set to runlevel 4) can log you in to any desktop (XFCE included). If you are using KDM (the default), then first click the blue down arrow in the bottom left to select XFCE as your login; after that it will be the default. I personally use LXDM (installed from SBo), and put the appropriate lines in /etc/rc.d/rc.4 (so it loads on runlevel 4/graphical login manager). SDDM is another possibility if you want something prettier.

As for the scrolling lines before the GUI comes up, you're pretty much out of luck on Slackware as far as I know.

luvr 08-30-2019 02:38 PM

To configure graphical login under Slackware, you will have to change to default runlevel from “3” to “4” in the ‘/etc/inittab’ file (but you already knew that).

Depending on the display manager (i.e., login screen) that you use, you may be able to select which session (KDE, XFCE, etc.) you wish to start when you login. The KDE Display Manager, for instance, will offer you that option, as Richard Cranium said, earlier in this thread:
Quote:

Originally Posted by Richard Cranium (Post 6031192)
I use the KDE login screen to go to XFCE4 all the time.

There's a button that looks like an arrow pointing down. Click it. Select "Xfce session". Add your credentials and log in.

You select your preferred session, enter your credentials, and login. Once set, the display manager will remember your choice, as Alien Bob added:
Quote:

Originally Posted by Alien Bob (Post 6031220)
ALso: once you have started an XFCE session that way, the next time you boot your computer / the next time you want to login, that XFCE session will be the default choice. Therefore you only need to use that dropdown menu once.

The most basic and simple display manager, however, is the X Display Manager, which will not let you select your preferred session. To configure the session to which you want to log in, you will then have to run the following command in a command-line terminal:
Code:

$ xwmconfig
The command will display a menu dialog, from which you can select your preferred session.

Which display manager your Slackware system uses, is determined by the ‘/etc/rc.d/rc.4’ script. By default, it looks for the following display managers, in sequence, until it finds one:
  • The GNOME session manager, ‘gdm’. This one is not normally installed, because it comes with GNOME, which is no longer part of a stock Slackware system.
  • The KDE session manager, ‘kdm’. This one comes with KDE, and will be installed if you did, e.g., a full install.
  • The “Simple Display Manager”, ‘sddm’. I’m not familiar with this one, but it is apparently the preferred display manager for KDE Plasma—not (yet) part of a stock Slackware system.
  • The very basic, no-nonsense X display manager, ‘xdm’. On a stock Slackware system, it will only get used if you didn’t install KDE.
If you want to change the display manager selected by your Slackware system, then you will have to edit the ‘/etc/rc.d/rc.4’ script. On Slackware-current, however, an alternative option is available, in that you can create a user-defined ‘/etc/rc.d/rc.4.local’ script to override the default.

You can add support for the ‘/etc/rc.d/rc.4.local’ script to a Slackware 14.2 system as well:
  • If you have access to a Slackware-current system, then you can simply copy its ‘/etc/rc.d/rc.4’ script to the Slackware 14.2 system.
  • Otherwise, you can run the following command (as ‘root’) to patch the ‘/etc/rc.d/rc.4’ script on your Slackware 14.2 system:
    Code:

    # patch --directory='/etc/rc.d' <<'//*EOF'
    --- rc.4.orig  2019-02-11 22:03:23.636296777 +0100
    +++ rc.4        2019-02-11 22:03:03.225295943 +0100
    @@ -12,6 +12,13 @@
     # Tell the viewers what's going to happen...
     echo "Starting up X11 session manager..."
     
    +# If you'd like to start something different or in a different order than
    +# the options below, create your own startup script /etc/rc.d/rc.4.local
    +# and make it executable and it will be used instead:
    +if [ -x /etc/rc.d/rc.4.local ]; then
    +  exec /bin/bash /etc/rc.d/rc.4.local
    +fi
    +
     # Try to use GNOME's gdm session manager.  This comes first because if
     # gdm is on the machine then the user probably installed it and wants
     # to use it by default:
    //*EOF

Obviously, with the support in place, the ‘/etc/rc.d/rc.4.local’ script will still have to be written (and be made executable, of course).

As an example, my own ‘/etc/rc.d/rc.4.local’ script will read the ‘/etc/X11/default-display-manager’ file, looking for the full path to the preferred display manager (Yes—I stole that idea from Debian… :redface:). If the input file does not exist, or does not specify a valid path to what should be a display manager, then it will fall back on the basic X Display Manager.

Here’s what my ‘/etc/rc.d/rc.4.local’ script looks like:
Code:

#! /bin/sh
#
# rc.4.local - Override the rc.4 startup script.
#

declare -r  IFDM=/etc/X11/default-display-manager
declare      DM

#
# Obtain the path to the preferred display manager from the input file.
#
[ -r "${IFDM}" ]  &&
read DM <<< "$(sed --quiet --expression='/^\// { p ; q }' "${IFDM}")"  &&
[ -n "${DM}" ]    &&
[ -x "${DM}" ]    &&
exec "${DM}" -nodaemon

#
# If required, then fall back on the default X Window System Display Manager.
#
if [ -x /usr/bin/xdm ]
then
  exec /usr/bin/xdm -nodaemon
elif [ -x /usr/X11R6/bin/xdm ]
then
  exec /usr/X11R6/bin/xdm -nodaemon
fi

Since I haven’t installed any extra display manager just yet, my ‘/etc/X11/default-display-manager’ file, for now, just specifies the path to the X Display Manager:
Code:

/usr/bin/xdm
(And yes, in case you wonder: this ‘/etc/X11/default-display-manager’ file is actually superfluous, since, as it stands, it identifies the exact same display manager to which the script would otherwise fall back anyway.)

jrch 08-31-2019 09:03 PM

Well gee. I tried to post a reply here but went to the bit bucket.

I am grateful for the many comments which I will study. Thanks.

jrc - trying one more time to post...

jrch 09-01-2019 09:05 AM

OK Sunday a.m. - worked several hours on this...getting a bit frustrated.

First thanks again for all the helpful suggestions. Maybe yet some of these will work out.

XDM will not log any users in - just root. So installed 'slim' (SlackBuild) - same behavior at first - root only works.

Found a post from a person who was 'missing' .xinitrc and .xsession in user directories, present in root's. Copied them across to users.

I did this, then chowning them both to 'user':users. .xsession is executable, .xinitrc is not.

OK NOW (!) I get working graphical login (after all the POST lines) for - guess who - 'root', 'me' (jrc), but for my wife's account, the graphical (slim) login FAILS the first time, then works ok the SECOND time it is tried. Go Figure (!?!)

In other words, when accessing her account, at the end of POST, the graphical login (slim) screen comes up. Logging in with her (CORRECT!) username & password, it rejects, going for an instant back to text (POST) screen, then the graphical login comes back up. THIS TIME (2nd time) her login succeeds.

???

ALL the programs in her account are present in mine. Many are NOT present in root.

Log from slim (/var/something) is just a repeated pair:

(1) "slim: waiting for X server to begin accepting connections";

(2) "waiting for X server to shut down".

Sometimes there is a second line (2) with no intervening line (1). ??

The file '.Xsession errors' (sp) has not been updated in her - or my - account since before 'slim' was installed. Entries, all before 'slim', are not intelligible to me, and pertain only to XDM.

I had also intended to try the other suggested SlackBuilds, 'lxdm', 'sddm'; however they will probably not work fully until this problem is fixed.

Thanks to anyone who is still following this, appreciate your patience.

Enuf for now.

jrc

0XBF 09-01-2019 11:47 AM

I installed slim to try playing around with this and set up inittab for runlevel 4 from boot. Root account and both user accounts on my system logged in fine from slim so no issues there. However, I usually boot to runlevel 3 and have run xwmconfig for each user which generates the .xinitrc and .xsession files automatically in each users home directory.

I tried adding a new test user and logging into the new account from slim and I get a "login failed" message. Since it was a brand new user there were no .xinitrc and .xsession files present in the home directory. Also this failed message comes up on second and third attempts etc.

To fix it I switched to another virtual terminal with Ctrl+Alt+F2, logged in as the test user from the command line, ran xwmconfig, selected xfce, logged out of the virtual terminal, and switched back to xsession with Ctrl+Alt+F8. The test account login from slim worked fine after that.

I did test this on slackware-current since I don't have a 14.2 test environment but hopefully it helps.

Richard Cranium 09-01-2019 12:13 PM

Please check for hidden files (those that start with ".") in your wife's account that belong to root.

jrch 09-01-2019 07:14 PM

Sunday eve in Montana. Thanks, I tried both suggestions, to no avail.

Checked carefully in wife's acct, NO dot files (or any others) owned by root.

Also, in both my and wife's acct, deleted (renamed) both .xinitrc and .xsession; then ran xwmconfig, selecting xfce, in both, generating new versions of both files. Login first time in wife's acct with slim and runlevel 4, worked fine. Next time back to same drill, fails first time, ok 2nd time.

Ok all times with other two accts.

I also edited rc.4 to comment out ALL other options except 'slim', in /usr/bin. Same result.

Back to runlevel 3. Thanks for suggestions, jrc


All times are GMT -5. The time now is 08:16 PM.