From ddbbc513ecfd6386a13f750fa54aacebda406b9d Mon Sep 17 00:00:00 2001 From: Tudor Brindus Date: Thu, 31 Dec 2020 20:35:03 -0500 Subject: [PATCH] Destroyed Debian installation guide (markdown) --- Debian-installation-guide.md | 106 ----------------------------------- 1 file changed, 106 deletions(-) delete mode 100644 Debian-installation-guide.md diff --git a/Debian-installation-guide.md b/Debian-installation-guide.md deleted file mode 100644 index 4c31380..0000000 --- a/Debian-installation-guide.md +++ /dev/null @@ -1,106 +0,0 @@ -## Disclaimers - -**This guide is outdated and shouldn't be used.** Any attempt to use it will only result in build errors and frustration. Debian users: please update this guide for wlroots. - -Note: these instructions are community-maintained, and are not supported by the `sway` project. They are known to work as of the last edit. It should also be noted that Debian is probably the least friendly mainstream distribution to install `sway` and many of it's affiliated applications on since it relies on building from source and non-stable repositories. You may wish to try it on another distribution first before embarking down this road. - -This document will guide you through installing sway on Debian Buster (stable). Currently `swaywm` IS available in the `experimental` repositories, HOWEVER several dependencies are only available in `sid`. To get `sway` installed with minimal manual compilation, a couple of `experimental` repositories will be added, but to ensure stability, `sid` repositories will be avoided. The application itself and other dependencies are pulled from GitHub. - -**Installing packages from source is NOT the Debian way of doing things, and could break the system!** That said, this is the most stable way of getting `sway` on Debian Buster at this time. [Read more here](https://wiki.debian.org/DontBreakDebian#Don.27t_.27make_install.27). - -Please edit this page if you spot inaccuracies, errors, or information that is out-of-date. - -## Installing `xwayland` - -We'll first need to install `xwayland` and other dependencies in order to support the majority of non-wayland applications: - -```` - sudo apt-get install libgles2-mesa-dev libdrm2 libdrm-dev libegl1-mesa-dev xwayland -```` - -## Installing `wlc` - -Next we'll install [Wlc](https://github.com/Cloudef/wlc) and its dependencies: -```` -sudo apt-get install cmake build-essential libinput10 libinput-dev libxkbcommon0 libxkbcommon-dev libudev-dev libxcb-image0 libxcb-image0-dev libxcb-composite0 libxcb-composite0-dev libxcb-xkb1 libxcb-xkb-dev libgbm1 libgbm-dev libdbus-1-dev libsystemd-dev zlib1g-dev libpixman-1-dev libxcb-ewmh-dev wayland-protocols git -git clone https://github.com/Cloudef/wlc.git -cd wlc -git submodule update --init --recursive -mkdir target -cd target -cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DSOURCE_WLPROTO=ON .. -make -sudo make install -```` - -## Installing `experimental` dependencies - -The remaining dependencies for `sway` - `libjson-c-dev` and `libwlroots-dev` - are only available in the appropriate versions from the `experimental` repositories. So, we will need to add this (or your preferred mirror) to `/etc/apt/sources.list`: - -```` -deb http://ftp.debian.org/debian experimental main contrib non-free -```` - -Then run `apt-get update` and Install these dependencies with: - -```` -apt install -t experimental libjson-c-dev libwlroots-dev -```` - -## Installing `sway` - -Finally, we can install `sway` itself. - -Note: If `apt-get install` tries to use more bandwidth and space than you have available, you can try adding ` -o APT::Install-Recommends=0 -o APT::Install-Suggests=0` at the end of the first command, to skip downloading optional dependencies. - -```` -sudo apt-get install meson libelogind-dev libpcre3 libpcre3-dev libcairo2 libcairo2-dev libpango1.0-0 libpango1.0-dev asciidoc libjson-c3 libcap-dev xsltproc libpam0g-dev -git clone https://github.com/SirCmpwn/sway.git -cd sway/ -git checkout 1.0 -meson build -ninja -C build -sudo ninja -C build install -```` - -## Using `sway` - -If you already have another desktop environment installed, you may be unable to boot to `sway` without messing with your display manager. To prevent your display manager from starting up on boot you can disable it via Systemd: -```` -sudo systemctl disable gdm3.service -```` -`gdm3` is used as an example here, your display manager may differ. - -Alternatively, you may prefer to switch the target environment to use by default from `graphical.target` to `multi-user.target`. More information on how Systemd targets work is described in [this article](https://www.digitalocean.com/community/tutorials/systemd-essentials-working-with-services-units-and-the-journal). - -The simple instructions are to first check to see that you are actually using `graphical.target` with the command `systemctl get-default`. - -If you are, check to make sure that no critical services will be disabled when changing to `multi-user target`: -```` -$ systemctl list-dependencies graphical.target -graphical.target -● ├─accounts-daemon.service -... -● └─multi-user.target -● ├─anacron.service -... -● ├─basic.target -● │ ├─-.mount -... -```` -Only items that are children `multi-user.target` will remain active. If there are any essential services that are direct children of `graphical.target` or children of another target that depends on it, you can move their .service file from their appropriate `/lib/systemd/system/.target.wants` to the `/lib/systemd/system/multi-user.wants` directory. - -You can then change to use the multi-user target: -```` -systemctl set-default multi-user.target -```` - -By changing to the multi-user.target, you will be prompted to log in at a tty. After logging in you can run `sway` to start up your new window manager. If you would like to have sway start automatically on a specific tty, you can configure your `.bash_profile` file to do so: - -```` -if [[ -z $DISPLAY ]] && [[ $(tty) = /dev/tty1 ]]; then - exec sway -fi -```` - -If you are on a single-user system and are used to having your account auto-login, you can configure `getty` to log you into the same tty that you have set to automatically execute sway. See the [Arch Wiki](https://wiki.archlinux.org/index.php/Getty#Automatic_login_to_virtual_console) on this topic. Note that this should only be done if you have some other layer of security such as a password-protected filesystem which is decrypted on boot. \ No newline at end of file