Using X without a Display Manager: Difference between revisions

From NixOS Wiki
imported>Fadenb
Created page with "== X without a Display Manager is unsupported == Many people (especially coming from Arch Linux) are used to starting X manually, e.g. with `startx`. In NixOS, this is current..."
 
imported>Fadenb
m Syntaxhighlight
Line 11: Line 11:
1. Edit configuration.nix appropriately - the following has relevant bits for fluxbox:
1. Edit configuration.nix appropriately - the following has relevant bits for fluxbox:


<pre>
<syntaxhighlight lang="nix">
   environment.systemPackages = with pkgs; [
   environment.systemPackages = with pkgs; [
     xlaunch
     xlaunch
Line 40: Line 40:
   };
   };


</pre>
</syntaxhighlight>


2. nixos-rebuild as usual:
2. nixos-rebuild as usual:


<pre>
<syntaxhighlight lang="console">
  # nixos-rebuild switch
# nixos-rebuild switch
</pre>
</syntaxhighlight>


3. Possibly reboot
3. Possibly reboot
Line 52: Line 52:
4. Start xlaunch from command line, e.g. for fluxbox:
4. Start xlaunch from command line, e.g. for fluxbox:


<pre>
<syntaxhighlight lang="console">
  $ xlaunch startfluxbox
$ xlaunch startfluxbox
</pre>
</syntaxhighlight>

Revision as of 11:53, 27 August 2017

X without a Display Manager is unsupported

Many people (especially coming from Arch Linux) are used to starting X manually, e.g. with `startx`. In NixOS, this is currently unsupported.

The reason that it is unsupported is that the upstreams (Xorg and systemd) by default do not support this functionality. Arch Linux has special hacks in place to make it work at all.

If you really care about this feature, you are welcome to port these hacks to NixOS - there is no philosophical objection to having manual startx working. However, to date no one in the community has cared enough to get it working.

Use xlaunch

Warning: Several users on IRC have reported that this no longer works on unstable. (2015/07)

1. Edit configuration.nix appropriately - the following has relevant bits for fluxbox:

  environment.systemPackages = with pkgs; [
    xlaunch
  ];

  security.setuidPrograms = [
    "xlaunch"
  ];

  services.xserver = {
    autorun = false;
    enable = true;
    enableTCP = false;
    exportConfiguration = true;
    layout = "us";
    desktopManager = {
      xterm.enable = false;
      xfce.enable = false;
    };
    # XXX: slim must not be disabled for xlaunch to work
#    displayManager = {
#      slim.enable = false;
#      job.execCmd = "";
#    };
    windowManager = {
      fluxbox.enable = true;
    };
  };

2. nixos-rebuild as usual:

# nixos-rebuild switch

3. Possibly reboot

4. Start xlaunch from command line, e.g. for fluxbox:

$ xlaunch startfluxbox