What is starting i3 when I run startx?

6,111

i3 seems to be a X Window Manager. If it's your system's default window manager, it's registered with the 'alternatives' system - which you can check with update-alternatives --display x-window-manager. This means that /usr/bin/x-window-manager is a symlink to /etc/alternatives/x-window-manager; this in turn is set by the 'alternatives' system to point to i3.

If you want to change the system default window manager, root can update-alternatives --config x-window-manager.

If Xsession finds a window manager, it will make this the default program to start in the session. In Debian, this is done in /etc/X11/Xsession.d/50x11-common_determine-startup.

If a users want to run a different program in their X session, then they can write a ~/.xsession that starts (or execs) the desired program.

Share:
6,111

Related videos on Youtube

averagescripter
Author by

averagescripter

Updated on September 18, 2022

Comments

  • averagescripter
    averagescripter about 1 month

    I'm trying to find the configuration file that startx uses to start the i3 window manager.

    The weird part is, grep -r i3 returns no relevant results in ~ and /etc/X11/.

    I have checked every file I can think of. My ~ directory does not have any .x* files in it. No .x* file in the /etc/X11 sub dirs has any reference to i3. I checked .xinitrc, .Xsession, etc.

    But.. when I login, I can run startx and i3 magically starts. I am utterly perplexed.

    Running Ubuntu on an odroid, but that shouldn't make a difference.

    If it makes a difference, I installed i3 as root before creating my user.

    cat /etc/issue
    Ubuntu 16.04.1 LTS \n \l
    uname -a
    Linux odroid 3.10.96-113 #1 SMP PREEMPT Wed Jul 6 22:19:28 UTC 2016 armv7l armv7l armv7l GNU/Linux
    

    As you can see below, there are no places left to hide:

    [email protected]:/home/matt# find / -name *xinit*
    /var/lib/dpkg/info/xinit.conffiles
    /var/lib/dpkg/info/xinit.list
    /var/lib/dpkg/info/xinit.md5sums
    /var/lib/dpkg/info/xinit.postinst
    /etc/X11/xinit
    /etc/X11/xinit/xinitrc.d
    /etc/X11/xinit/xinitrc
    /usr/share/doc/xinit
    /usr/share/man/man1/xinit.1.gz
    /usr/bin/xinit
    [email protected]:/home/matt# 
    [email protected]:/home# grep -r 'exec i3'
    matt/.config/i3/config_bak:bindsym $mod+Return exec i3-sensible-terminal
    matt/.config/i3/config:bindsym $mod+Return exec i3-sensible-terminal
    [email protected]:/home# cd /etc/
    [email protected]:/etc# grep -r 'exec i3'
    i3/config:bindsym Mod1+Return exec i3-sensible-terminal
    i3/config:exec i3-config-wizard
    i3/config.keycodes:bindcode $mod+36 exec i3-sensible-terminal
    [email protected]:/etc# 
    

    What is starting i3 when I run startx?