Daily driver guide: Difference between revisions

From Alpine Linux
(A guide for using Alpine as a daily driver)
 
(changed the introductory lines to be consistent with https://alpinelinux.org/about/ page. moved mandatory steps steps to Note and changed it to numbered list)
 
(31 intermediate revisions by 4 users not shown)
Line 1: Line 1:
Many people think that Alpine is only made for containers and servers, but it is actually a general purpose distro which can definitely be used as a daily driver.
<!-- COMMENT FOR EDITORS
Alpine is extremely small, simple and resource-efficient, making it easy to customize.


{{Note|This guide assumes you have already installed a minimal Alpine system by following the [[Installation|Installation guide]]}}
If you edit Post-Install,


== General system changes ==
Changes Made on this page also affects the Post-Install section of [[Installation|Installation guide]]. So, check that page too before making changes.
=== Set up your own user ===
When running `setup-alpine` there was an option to create a user.
If you didn't make one, you can do it now:
{{cmd|# adduser <username>}}


Then, you need to give your user access to temporary root privileges:
  * Consider that there are already [[Tutorials_and_Howtos#Post-Install]], [[Developer_Documentation#Package_management]] and the Handbook, please work towards reducing duplication and providing an overview, and maintaining topic details of considerable size on their own pages.
{{cmd|# adduser <username> wheel}}
  * Here, only the most relevant jumping off points are listed, not exact list duplicates!!!
If you are using `doas` then it will most likely work instantly, if using `sudo` then you will need to follow the [https://wiki.alpinelinux.org/wiki/Setting_up_a_new_user#Creating_a_new_user install instructions]
  * Keep short-list of links here, as overview to more detailed topic specific pages.
  * Don't aggregate different topics at yet another place.


=== Locking the root account ===
-->
To lock the root account you need to log into your account and then lock it using the passwd command:
{{cmd|# passwd -l root}}


=== Glibc compatability ===
Alpine Linux is built to be small and resource efficient. It is still a general purpose Linux distribution designed for power users. If you feel the defaults are too lightweight for desktop use, it is easy to get most of the [[How to get regular stuff working|regular stuff working]] and use it as a daily driver.
Installing the `gcompat` package adds a compatability layer which (sometimes) lets you run binaries as normal:
{{cmd|# apk add gcompat}}


Another way is to use [[Flatpak]]. It is a program distribution technology which uses a universal package format that is compatible with any Linux system.
{{Note|This guide assumes you have already installed a minimal Alpine Linux system in [[Installation#System_Disk_Mode|sys]] mode with working Internet by following the [[Installation|Installation guide]]. The following four steps are mandatory to install any [[Desktop environments and Window managers|Desktop]]:
# Create a non-privileged [[Setting_up_a_new_user#Creating_a_new_user|user account]] for security reasons.
# Ensure that <code>community</code> repository is [[Repositories#Managing_repositories|enabled]]
# Install [[graphics driver]] for your video hardware.
# Install a desktop using [[Setup-desktop]] script or manually install any [[Desktop environments and Window managers|desktop]] of your choice.  
}}


== Install a Desktop Environment/Window Manager ==
==== Basics ====
The preferred way to install a Desktop Environment is by using the setup script:
* Learn the [https://docs.alpinelinux.org/user-handbook/0.1a/Working/apk.html alpine package keeper basics] or refer [[Alpine Package Keeper|wiki]] for more details.
{{cmd|# setup-desktop}}
* [[fonts#Installation|Install]] some [[fonts]] to make your desktop look better.
If it does not have the Desktop Environment (or Window Manager) you want, [[Desktop environments and Window managers|follow the specific installation instructions for it]].
* Setup [[PipeWire]] to manage your audio, if setup-desktop did not install it for your already or you installed your desktop environment manually.
* Configure your [[Bluetooth]], if you have one.
* Configure your [[Printer_Setup|printer]].
* Enable [[Alpine_Linux:FAQ#Why don't I have man pages or where is the 'man' command?|documentation]], so man pages are available.
* Secure your system by installing firewall software like [[How-To_Alpine_Wall|awall]] or [[Uncomplicated Firewall|UFW]].
* To keep your system secure, regularly [[Alpine_Linux_package_management#Upgrade_a_Running_System|check and apply updates]] with the package manager.  
 
==== Advanced ====


After installation you should probably install some fonts (because some fonts may not be installed).
* Use [[Flatpak]] to add packages that are not in the [[Repositories#repositories|repositories]].
This is a good set of fonts for most setups:
* Install {{pkg|gcompat|arch=}} package to add a glibc compatability layer which lets you run [[Running glibc programs|glibc binaries]] as normal.
{{cmd|# apk add font-terminus font-inconsolata font-dejavu font-noto font-noto-cjk font-awesome font-noto-extra}
* Install a sandboxing application like [[AppArmor]] or [[Bubblewrap]].
* Learn [https://docs.alpinelinux.org/user-handbook/0.1a/Working/openrc.html basics of openrc], the alpine Linux init system or refer [[OpenRC|Open rc wiki]].
* If you want the rolling release version of Alpine Linux, [[Repositories#Managing_repositories|enable]] the [[Repositories#Edge|Edge]] repository.
* You may want to explore the [[Repositories#Testing|testing ]] repository, as it provides a lot more applications.


== Securing your system ==
[[Category:Desktop]]
=== Firewall ===
There are two main options: [http://How-To%20Alpine%20Wall awall] or [[Uncomplicated Firewall|UFW]].
Please follow their wiki guide for installation and usage.
 
=== Sandboxing ===
The two choices are either [[AppArmor]] or [[Bubblewrap]].
 
AppArmor is more convenient but has less control than Bubblewrap.
Bubblewrap is harder to work with but has more control than AppArmor.
 
Bubblewrap has a simpler GUI frontend called [https://github.com/igo95862/bubblejail Bubblejail]. It is easier to use than Bubblewrap, but may sometimes be a little unstable.
When installing Bubblejail, you first need to install the dependencies listed [https://github.com/igo95862/bubblejail/blob/master/docs/distro_notes/alpine.md here].

Latest revision as of 15:56, 8 November 2024


Alpine Linux is built to be small and resource efficient. It is still a general purpose Linux distribution designed for power users. If you feel the defaults are too lightweight for desktop use, it is easy to get most of the regular stuff working and use it as a daily driver.

Note: This guide assumes you have already installed a minimal Alpine Linux system in sys mode with working Internet by following the Installation guide. The following four steps are mandatory to install any Desktop:
  1. Create a non-privileged user account for security reasons.
  2. Ensure that community repository is enabled
  3. Install graphics driver for your video hardware.
  4. Install a desktop using Setup-desktop script or manually install any desktop of your choice.

Basics

Advanced