mirror of
https://codeberg.org/alpine/alpine-wiki.git
synced 2023-08-25 13:53:16 +02:00
newbie - tutorial : alpine desktop finished
This commit is contained in:
parent
f7cbf6b857
commit
af79a435d2
@ -18,6 +18,7 @@ Linux is just the **kernel** that handles and manages the **hardware** to the op
|
||||
|
||||
* [Feature Differences](#feature-differences)
|
||||
* [Installation](#installation)
|
||||
* [alpine-newbie-xfce-desktop.md](alpine-newbie-xfce-desktop.md)
|
||||
* [Post install and Software Packages](#post-install-and-software-packages)
|
||||
* [About the repositories of programs](#about-the-repositories-of-programs)
|
||||
* [APK and package formats](#apk-and-package-formats)
|
||||
@ -60,6 +61,7 @@ that is why we offered in newbie category the [Alpine Newbie Install](alpine-new
|
||||
|
||||
1. [Alpine Newbie Prepare](alpine-newbie-prepare.md)
|
||||
2. [Alpine Newbie Install](alpine-newbie-install.md)
|
||||
3. [alpine-newbie-xfce-desktop.md](alpine-newbie-xfce-desktop.md)
|
||||
|
||||
## Post install and Software Packages
|
||||
|
||||
|
@ -1,36 +1,60 @@
|
||||
|
||||
.. firs of all.. when you start to learn something you should check your available resources agains the needs ..
|
||||
.. firs of all.. When starting to learn something, you should weigh
|
||||
your capabilities and availability of resources:
|
||||
|
||||
## requirements
|
||||
## 1 - Check requirements
|
||||
|
||||
We are persons, so first of all [we have real life requirements](#real-life-requirements)
|
||||
We are persons, [we have real life requirements](#real-life-requirements)
|
||||
and after [we need related requirements](#related-requirements).
|
||||
|
||||
You as future contributor or developer must check your resources and adapt those to your situation..
|
||||
that seems unrelated to learning but ITS VERY IMPORTANT! Why?: well cos in linux and development
|
||||
you shoul READ A LOT .. and that will waste time from your life.
|
||||
|
||||
### Real life requirementes
|
||||
|
||||
* **Manners**, you will must have a vocation for reading and analysis.
|
||||
* **Time**, you will need time, cos you will need to read a lot!
|
||||
* **Computer**, you should have a pc, or similar, by example most of the people uses the androit phone to handle an internal linux using [termux](termux-pending-file.md)
|
||||
* **Device**, you should have a computer, or phone at least, or similar, by example using [Termux or IOs for phones](alpine-tutorial-in-phones.md)
|
||||
|
||||
### Related requirementes
|
||||
|
||||
* **Knowledge** you will need a knowed editor, a god knowledge of git as minimal base..
|
||||
* **Internet**, and minimal bandwitch of internet network.. cos almost today all the development will forced to you to contribute over internet.
|
||||
* **Knowledge** have knowledge of using linux, git and editors
|
||||
* **vi/nano** you must know how to use VI and NANO editors, just write and save are enought
|
||||
* **LFSH** you must read about the linux filesystem hierarchy, just where the files should go
|
||||
* **git** you must know minimal usage of git, just clone and pull are enought
|
||||
* **Unix-like**, you should have some kind of way to interact with a UNIX like operating system, like MAC or Linux.
|
||||
* **xterm** you must know how to use, cpy/paste text and manage a terminal command line
|
||||
* **ssh** you ust know how to use SSH at the comand line
|
||||
* **Internet**, and minimal bandwitch of internet network.. cos almost today all the development will forced to you to contribute over internet.
|
||||
|
||||
### About this wiki newbie
|
||||
## 2 - Where to start
|
||||
|
||||
This material is a main one, for a more focused tutorial please check
|
||||
the [../tutorials/](../tutorials/) directory space, that have more focused or maybe simple ways to
|
||||
reach specific objetives. Of course those **guides or tutorials will assume you already have knowledge**.
|
||||
Please, check requirements mentioned above, before continues; **this material
|
||||
(newbie sections) assumes a more general level and helps you to follow the steps more slowly:
|
||||
**Of course the first document to read is [alpine-newbie-install.md](alpine-newbie-install.md).**
|
||||
and then **after install read [alpine-newbie-xfce-desktop.md](alpine-newbie-xfce-desktop.md)**
|
||||
|
||||
On the other hand, **this material (newbie sections) assumes a more general level and helps you to follow the steps more slowly,
|
||||
in categories and explained steps**.
|
||||
But for more focused guides, the requirements mentioned above are mandatory,
|
||||
without them you will not be able to understand the documents at the [../tutorials/](../tutorials/)
|
||||
directory space, **guides or tutorials will assume you already have those knowledge requirements**.
|
||||
|
||||
### WARNING
|
||||
|
||||
* First of all, if you do not use Linux before, this is not a "click click click" environment
|
||||
* Second: if you comes from other Linux, there are a huge difference respect others: MUSL libc!
|
||||
|
||||
Al of those means that most of the programs may need manual intervention of precompilation.
|
||||
IF you plan to use Alpine Linux as desktop maybe you will find a difficult path but,
|
||||
its totally workable, and also pretty best performed. Alpine its best know for usage over containers,
|
||||
like dockers or virtual machines.
|
||||
|
||||
### About copyright material
|
||||
|
||||
**CC BY-NC-SA**: the project allows reusers to distribute, remix, adapt, and build upon the material
|
||||
in any medium or format for noncommercial purposes only, and only so long as attribution is given
|
||||
to the creators involved. If you remix, adapt, or build upon the material, you must license the modified
|
||||
material under identical terms, includes the following elements:
|
||||
|
||||
* **BY** – Credit must be given to the creator of each content respectivelly, starting at the first contributor.
|
||||
* **NC** – Only noncommercial uses of the work are permitted, with exceptions if you fill an issue here!
|
||||
* **SA** – Adaptations must be shared under the same terms, you must obey this terms and do not change it.
|
||||
|
||||
Please check our [../alpine/copyright.md](../alpine/copyright.md).
|
||||
|
||||
|
591
newbie/alpine-newbie-xfce-desktop.md
Normal file
591
newbie/alpine-newbie-xfce-desktop.md
Normal file
@ -0,0 +1,591 @@
|
||||
# Alpine XFCE4 desktop setup
|
||||
===========================================================
|
||||
|
||||
* [preparation](#preparation-xfce4-aline)
|
||||
* [instalation](#instalation)
|
||||
* [setup OS configuration](#setup-os-configuration)
|
||||
* [configuration programs and repositories](#configuration-programs-and-repositories)
|
||||
* [setup system users](#setup-system-users)
|
||||
* [setup hardware media support and graphical subsystem](#setup-hardware-media-support-and-graphical-subsystem)
|
||||
* [setup software graphical fonts and languajes](#setup-software-graphical-fonts-and-languajes)
|
||||
* [setup hardware media support and sound subsystem](#setup-hardware-media-support-and-sound-subsystem)
|
||||
* [Instalacion XFCE4 Alpine](#instalacion-xfce4-apine)
|
||||
* [Desktop multimedia and media devices](#desktop-multimedia-and-media-devices)
|
||||
* [Desktop Office suite](#desktop-office-suite)
|
||||
* [Development](#development)
|
||||
* [base console development](#base-console-development)
|
||||
* [base gui development](#base-gui-development)
|
||||
* [Licensing clarifications](#licensing-clarifications)
|
||||
* [See also](#see-also)
|
||||
|
||||
## preparation Xfce4 Alpine
|
||||
|
||||
To have a usable desktop without having to wonder why it doesn't sound,
|
||||
or why the video file doesn't display, **you should avoid minimalisms if
|
||||
you don't already have advanced knowledge** of alpine and even more so of linux.
|
||||
|
||||
For desktop you should have at least 100G of space on the ROOT disk,
|
||||
and at least 2G of memory on the RAM.
|
||||
|
||||
The document **assumes that you already have Alpine Linux installed
|
||||
otherwise check the best option at [alpine-newbie-install.md](alpine-newbie-install.md),**
|
||||
we recommend 3.10 to 3.12 for 32bit PC and 3.12 for older RPi,
|
||||
for modern machines we recommend 3.16 64bit versions.
|
||||
|
||||
#### Internet required
|
||||
|
||||
This document will work only if you have direct wired connection to internet.
|
||||
|
||||
**If you dont have direct network connection, please use our direct VenenuX Alpine ISOS**
|
||||
[CURRENT LINK https://t.me/alpine_linux/762, but ask in telegram alpine network for newer one](https://t.me/s/alpine_linux/762)
|
||||
|
||||
#### setup OS configuration
|
||||
|
||||
1. deny access to the ssh root user, or well, get sure to deny such access
|
||||
2. setup and start the ssh service, this always be present in Alpine installs
|
||||
3. set the name of the computer, here we used `venenux-desktop`, please avoid symbols
|
||||
4. hardcoded and set the network connection, to first wired network device
|
||||
5. setup services of network to init at boot
|
||||
6. configure root account
|
||||
7. create a remote connection limited account `daru`
|
||||
8. configure a default remote connection account `daru` as standard
|
||||
|
||||
```
|
||||
sed -i -r 's|#PermitRootLogin.*|PermitRootLogin no|g' /etc/ssh/sshd_config
|
||||
|
||||
service sshd restart
|
||||
|
||||
rc-update add sshd default
|
||||
|
||||
hostname venenux-desktop
|
||||
echo 'hostname="venenux-desktop"' > /etc/conf.d/hostname
|
||||
echo "venenux-desktop" > /etc/hostname
|
||||
|
||||
cat > /etc/hosts << EOF
|
||||
127.0.0.1 venenux-desktop localhost.localdomain localhost
|
||||
::1 localhost localhost.localdomain
|
||||
EOF
|
||||
|
||||
cat > /etc/network/interfaces << EOF
|
||||
auto lo
|
||||
iface lo inet loopback
|
||||
|
||||
auto eth0
|
||||
iface eth0 inet dhcp
|
||||
|
||||
iface eth0 inet6 dhcp
|
||||
pre-up echo 0 > /proc/sys/net/ipv6/conf/eth0/accept_ra
|
||||
EOF
|
||||
|
||||
rc-service networking restart
|
||||
|
||||
rc-update add networking boot
|
||||
|
||||
cat > /root/.cshrc << EOF
|
||||
unsetenv DISPLAY || true
|
||||
HISTCONTROL=ignoreboth
|
||||
EOF
|
||||
|
||||
cp /root/.cshrc /root/.bashrc /root/.profile
|
||||
|
||||
echo "root:toor" | chpasswd
|
||||
|
||||
apk add tcsh
|
||||
|
||||
add-shell '/bin/csh'
|
||||
|
||||
adduser -D -g "" -u 998 -h /opt/daru -s /bin/csh daru
|
||||
|
||||
echo "daru:daru" | chpasswd
|
||||
|
||||
rm -f /opt/daru/*
|
||||
|
||||
mkdir /opt/daru
|
||||
|
||||
cat > /opt/daru/.cshrc << EOF
|
||||
unsetenv DISPLAY
|
||||
set autologout = 6
|
||||
set prompt = "$ "
|
||||
set history = 0
|
||||
set ignoreeof
|
||||
EOF
|
||||
cp /opt/daru/.cshrc /opt/daru/.bashrc
|
||||
|
||||
```
|
||||
|
||||
#### configuration programs and repositories
|
||||
|
||||
1. Setup main and community repositories of sources of programs
|
||||
2. update the local references of such repositories
|
||||
3. install main command line utilities man page manager and easy to use editor
|
||||
4. install string manipulation tools for the commands on the console
|
||||
5. install file downloaders and url handlers for command line administration
|
||||
6. install backend support for backend of archivers, will be need in any futher kind of install
|
||||
7. setup the pager for large outputs over the console
|
||||
8. install the support for languaje environment
|
||||
|
||||
|
||||
``` bash
|
||||
cat > /etc/apk/repositories << EOF
|
||||
http://dl-4.alpinelinux.org/alpine/v$(cat /etc/alpine-release | cut -d'.' -f1,2)/main
|
||||
http://dl-4.alpinelinux.org/alpine/v$(cat /etc/alpine-release | cut -d'.' -f1,2)/community
|
||||
EOF
|
||||
|
||||
apk update
|
||||
|
||||
apk add man-db man-pages nano nano-doc binutils binutils-doc coreutils coreutils-doc readline readline-doc
|
||||
|
||||
apk add sed sed-doc attr attr-doc dialog dialog-doc lsof less less-doc groff groff-doc
|
||||
|
||||
apk add wget wget-doc curl curl-doc bash bash-doc bash-completion terminus-font
|
||||
|
||||
apk add zip p7zip xz tar cabextract cpio binutils lha acpi
|
||||
|
||||
export PAGER=less
|
||||
|
||||
apk add musl-locales musl-locales-lang
|
||||
|
||||
```
|
||||
|
||||
The packages that have a "-doc" part handles the manpages.. you can
|
||||
avoid those packages, if Alpine usage will be for GUI only.
|
||||
|
||||
The packages of locales will be need as base for multi-lang enviroment.
|
||||
|
||||
#### setup system users
|
||||
|
||||
We will follow a protocol for better identification of all the commands
|
||||
in further documents, the user will be called "general"; this is important
|
||||
that it has does matter, what does not matter is for you cos you only "use".
|
||||
|
||||
The other important part here is the groups, user will not have porper access
|
||||
to resources becouse the OS manages the access using levels by groups. Of course
|
||||
all of this only works using the proper policy kit software.
|
||||
|
||||
1. install and setup advanced management of users and administration tool privilegies
|
||||
2. setup the shell csh for all present users and future ones
|
||||
3. setup the shell bash for all present users and future ones
|
||||
4. setup the shell for skel directory, that will server as template
|
||||
5. setup the Xresources configuration for skel directory, that will server as template
|
||||
6. configure defaults for each new creation of new users with bash as default shell
|
||||
7. configure the login environement for each user when login at the console
|
||||
8. create the default new general usage user `general` for your desktop or console daily work
|
||||
9. include this `general` user in the most used need groups to have proper access to resources
|
||||
|
||||
```
|
||||
apk add shadow shadow-doc shadow-uidmap bash bash-doc bash-completion bash-dev doas doas-doc
|
||||
|
||||
cat > /tmp/tmpcs.tmp << EOF
|
||||
set history = 10000
|
||||
set prompt = "$ "
|
||||
EOF
|
||||
|
||||
for i in $(ls /home);do cat /tmp/tmpcs.tmp > /home/$i/.cshrc;done
|
||||
|
||||
cat > /tmp/tmpbs.tmp << EOF
|
||||
set prompt = "$ "
|
||||
set history = 10000
|
||||
if [ -f ~/.bash_aliases ]; then
|
||||
. ~/.bash_aliases
|
||||
fi
|
||||
EOF
|
||||
|
||||
for i in $(ls /home);do cat /tmp/tmpbs.tmp > /home/$i/.bashrc;done
|
||||
|
||||
mkdir /etc/skel
|
||||
cat /tmp/tmpcs.tmp > /etc/skel/.cshrc
|
||||
cat /tmp/tmpbs.tmp > /etc/skel/.bashrc
|
||||
|
||||
cat > /etc/skel/.Xresources << EOF
|
||||
Xft.antialias: 0
|
||||
Xft.rgba: rgb
|
||||
Xft.autohint: 0
|
||||
Xft.hinting: 1
|
||||
Xft.hintstyle: hintslight
|
||||
EOF
|
||||
|
||||
cat > /etc/default/useradd << EOF
|
||||
# useradd defaults file
|
||||
HOME=/home
|
||||
INACTIVE=-1
|
||||
EXPIRE=
|
||||
SHELL=/bin/bash
|
||||
SKEL=/etc/skel
|
||||
CREATE_MAIL_SPOOL=yes
|
||||
EOF
|
||||
|
||||
cat > /etc/login.defs << EOF
|
||||
USERGROUPS_ENAB yes
|
||||
#MAIL_DIR /var/mail
|
||||
#MAIL_FILE .mail
|
||||
#FAILLOG_ENAB yes
|
||||
LOG_OK_LOGINS no
|
||||
SYSLOG_SU_ENAB yes
|
||||
SYSLOG_SG_ENAB yes
|
||||
SULOG_FILE /var/log/sulog
|
||||
SU_NAME su
|
||||
ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
|
||||
ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
|
||||
UMASK 022
|
||||
UID_MIN 1000
|
||||
UID_MAX 60000
|
||||
SYS_UID_MIN 100
|
||||
SYS_UID_MAX 999
|
||||
GID_MIN 1000
|
||||
GID_MAX 60000
|
||||
SYS_GID_MIN 100
|
||||
SYS_GID_MAX 999
|
||||
LOGIN_RETRIES 3
|
||||
LOGIN_TIMEOUT 60
|
||||
CONSOLE_GROUPS floppy:audio:cdrom:users
|
||||
EOF
|
||||
|
||||
|
||||
useradd -m -U -c "" -G wheel,input,disk,floppy,cdrom,dialout,audio,video,lp,netdev,games,users,ping general
|
||||
|
||||
for u in $(ls /home); do for g in disk lp floppy audio cdrom dialout video lp netdev games users ping; do addgroup $u $g; done;done
|
||||
```
|
||||
|
||||
In the last part the `general` user is created since for purposes of usage
|
||||
the name its hard coded for the commands that can be sense and important,
|
||||
because of the references in further documents.
|
||||
|
||||
At last, the groups are cofigured for the user, each one will define a
|
||||
resource access, specially those for `disk`, `audio`, `video` and `netdev`.
|
||||
|
||||
#### setup hardware media support and graphical subsystem
|
||||
|
||||
Until this point, we have a user that can login to the system,
|
||||
and bunch of programs to interact with the OS, but still do not
|
||||
have any programs to make the computer or device work for us..
|
||||
this target depends of the set of programs, this section will
|
||||
configure the graphical environment to property setup any desktop.
|
||||
|
||||
1. install programs to manage devices dinamically by the OS and not admin user
|
||||
2. setup service for dynamic device manager at boot, energy management and cpu frecuency management
|
||||
3. install and configure the graphical subsystem and modesetting multi GPU video card support
|
||||
4. install set of need modules for 2D/3D specific GPU or video card first generation support
|
||||
5. install set of need modules for 2D/3D common GPU or video card almost modern still supported
|
||||
6. install support for multi resolution and keyboard language configuration over GUI programs
|
||||
7. install the bus communitacion support, policy management and login backend and frontend
|
||||
8. generate the machine id identification hack for stupid shistemd linux standards
|
||||
9. activate the service of the bus cominucations, the policy rules and graphical login backend
|
||||
10. start the service of the bus cominucations, the policy rules and graphical login backend
|
||||
11. activate the service of the graphical frontend login manager
|
||||
12. start the service of the graphical frontend login manager
|
||||
13. install support for abstract device filesystem representation using FUSE user space
|
||||
14. activate the service of abstract device filesystem representation using FUSE user space
|
||||
15. install software backend for usage of abstract device filesystem representation using FUSE user space
|
||||
|
||||
```
|
||||
apk add acpi eudev eudev-doc eudev-rule-generator eudev-openrc linux-firmware cpufreqd
|
||||
|
||||
rc-update add udev
|
||||
rc-update add acpid
|
||||
rc-update add cpufreqd
|
||||
|
||||
setup-xorg-base xinit mesa-dri-gallium xf86-video-dummy xf86-video-modesetting xf86-video-qxl xf86-video-vmware xf86-input-evdev xf86-input-synaptics
|
||||
|
||||
apk add xf86-video-r128 xf86-video-s3virge xf86-video-apm xf86-video-i128 xf86-video-glint xf86-video-tdfx xf86-video-openchrome
|
||||
|
||||
apk add xf86-video-intel xf86-video-amdgpu xf86-video-ati xf86-video-nouveau xf86-video-nv xf86-video-vesa
|
||||
|
||||
apk add libxinerama xrandr kbd setxkbmap
|
||||
|
||||
apk add dbus dbus-x11 elogind elogind-openrc elogind-lang polkit polkit-openrc polkit-elogind lightdm lightdm-lang lightdm-gtk-greeter
|
||||
|
||||
dbus-uuidgen > /var/lib/dbus/machine-id
|
||||
|
||||
rc-update add dbus
|
||||
rc-update add elogind
|
||||
rc-update add polkit
|
||||
|
||||
rc-service dbus restart
|
||||
|
||||
rc-service elogind restart
|
||||
|
||||
rc-service polkit restart
|
||||
|
||||
rc-update add lightdm
|
||||
|
||||
rc-service lightdm restart
|
||||
|
||||
apk add fuse fuse-exfat-utils archivemount fuse-exfat avfs vte3 pcre2
|
||||
|
||||
rc-service fuse start
|
||||
|
||||
rc-update add fuse
|
||||
|
||||
apk add gvfs udisks2 udisks2-lang udisks2-doc gvfs-fuse gvfs-archive gvfs-dav gvfs-nfs gvfs-lang
|
||||
|
||||
```
|
||||
|
||||
#### setup software graphical fonts and languajes
|
||||
|
||||
Now we have support for graphics in the operating system,
|
||||
but still do not have any graphical program, so we will prepare
|
||||
minimal set of software for the right working of the programs
|
||||
such like the fonts and the support of multi languajes.
|
||||
|
||||
1. install console support fonts for tty terminal and console terminal programs
|
||||
2. setup and configure the default tty terminal fonts
|
||||
3. set as service the configuration of the font at terminal
|
||||
4. install basic set of default fonts for graphical programs, dejavu and bitstream ones
|
||||
5. install fonts for japanese symbos and sans/comic like fonts
|
||||
6. install fonts for cyrillic langs to display russian words
|
||||
7. install fonts for mid-orient langs like arabic, hebrew, armenian, hindi / sanskrit
|
||||
8. install fonts for langs like tailan and malayalam
|
||||
9. install fonts for east-orient like chinese symbols,hangul and kana ones, includign japanese
|
||||
|
||||
```
|
||||
apk add terminus-font
|
||||
|
||||
setfont /usr/share/consolefonts/ter-132n.psf.gz
|
||||
|
||||
sed -i "s#.*consolefont.*=.*#consolefont="ter-132n.psf.gz"#g" /etc/conf.d/consolefont
|
||||
|
||||
rc-update add consolefont boot
|
||||
|
||||
apk add ttf-dejavu font-bitstream-type1 font-bitstream-100dpi font-bitstream-75dpi font-adobe-utopia-type1 font-adobe-utopia-75dpi font-adobe-utopia-100dpi font-noto-georgian
|
||||
|
||||
apk add font-noto font-noto-extra font-noto-cjk font-noto-cjk-extra font-arabic-misc ttf-liberation ttf-linux-libertine
|
||||
|
||||
apk add font-misc-cyrillic font-mutt-misc font-screen-cyrillic font-winitzki-cyrillic font-cronyx-cyrillic
|
||||
|
||||
apk add font-noto-hebrew font-noto-arabic font-noto-armenian font-noto-cherokee font-noto-devanagari font-noto-ethiopic
|
||||
|
||||
apk add font-noto-lao font-noto-malayalam font-noto-tamil font-noto-thaana font-noto-thai
|
||||
|
||||
apk add font-noto-cjk font-noto-cjk-extra font-isas-misc
|
||||
```
|
||||
|
||||
If you want to bypass and dont know anything, run steps from 1 to 4 adn then
|
||||
after step 4 just install `font-noto-all` that provides support for all
|
||||
langs symbols words.
|
||||
|
||||
#### setup hardware media support and sound subsystem
|
||||
|
||||
Audio support these days depends on video support, although it can still be
|
||||
configured separately, nowadays it is strongly tied to video, that's why its
|
||||
placed here this section, just below of the hardware video setup.
|
||||
|
||||
It should be noted that in Linux there is the system audio layer and the user audio layer,
|
||||
formerly the first was and can used directly, nomadays, by using the second
|
||||
we are in transition to the wonderful pipewire framework.
|
||||
|
||||
1. install the base audio subsystem software
|
||||
2. install the base audio framework user support
|
||||
3. restart bus communicacion, due we already have the software video subsystem support bus communication
|
||||
4. setup the access prority for the audio communication
|
||||
5. install optional bluetooth software support if you have a bluez audio card or phones
|
||||
6. setup the bluetooth service
|
||||
7. start the bluetooth service so the audio devices can be stablished
|
||||
|
||||
```
|
||||
apk add alsa-utils alsa-utils-doc alsa-plugins alsa-plugins-doc alsa-tools alsa-tools-doc alsaconf
|
||||
|
||||
apk add pipewire pipewire-doc pipewire-pulse pipewire-alsa sndio sndio-doc
|
||||
|
||||
rc-service dbus restart
|
||||
|
||||
cat > /etc/security/limits.d/audio-limits.conf << EOF
|
||||
@audio - memlock 256
|
||||
@audio - nice -11
|
||||
@audio - rtprio 88
|
||||
EOF
|
||||
|
||||
apk add bluez bluez-openrc pipewire-spa-bluez
|
||||
|
||||
rc-update add bluetooth
|
||||
|
||||
rc-service bluetooth start
|
||||
```
|
||||
|
||||
Now at this point we have audio and video configured, additionally we have
|
||||
basic support for managing devices dynamically when connecting or disconnecting,
|
||||
the only kind of devices not covered yet until this point are printers.
|
||||
|
||||
For any desktop this is the point where you choose which graphical environment
|
||||
or desktop to install. Next section will prefers the XFCE4 desktop setup,
|
||||
currently ws the first and its the most complete desktop packaged in the repos.
|
||||
|
||||
## instalacion Xfce4 Alpine
|
||||
|
||||
Since Alpine 3.13 the XFCE4 desktop its full modern, this means its pretty more heavy,
|
||||
cos is build using GTK3 only.
|
||||
|
||||
On older or cheap devices, mostly for 32bit devices its better to use alpine 3.10 or 3.12
|
||||
that uses GTK2 for almost all the programs.
|
||||
|
||||
1. install base desktop software packages
|
||||
2. install base XFCE4 desktop packages, at this point, the system its ready for graphicall session
|
||||
3. install and setup the login manager programs and policy manager software
|
||||
4. setup the display login manager to start at boot
|
||||
5. start the display manager, now you can use a minimal XFCE4 desktop, continue for complete experience
|
||||
6. install cliboard manager, keyboard configurator, screensaver, screenshooter, and baterry manager
|
||||
7. install packages for multi lang environment of the XFCE4 desktop if need, if login, logout and relogin
|
||||
|
||||
```
|
||||
apk add gtk-update-icon-cache hicolor-icon-theme paper-gtk-theme adwaita-icon-theme mate-themes
|
||||
|
||||
apk add xfce4 xfce4-session xfce4-panel xfce4-terminal xarchiver mousepad network-manager-applet xfwm4-themes xfce-polkit xfce4-skel xfce4-power-manager xfce4-settings
|
||||
|
||||
apk add lightdm elogind elogind-openrc elogind-lang polkit polkit-openrc polkit-elogind lightdm lightdm-lang lightdm-gtk-greeter
|
||||
|
||||
rc-update add lightdm
|
||||
|
||||
rc-service lightdm restart
|
||||
|
||||
apk add xfce4-clipman-plugin xfce4-xkb-plugin xfce4-screensaver xfce4-screenshooter xfce4-taskmanager xfce4-whiskermenu-plugin xfce4-battery-plugin
|
||||
|
||||
apk add xfce4-panel-lang xfce4-clipman-plugin-lang xfce4-xkb-plugin-lang xfce4-screenshooter-lang xfce4-taskmanager-lang xfce4-whiskermenu-plugin-lang xfce4-battery-plugin-lang xfce4-power-manager-lang xfce4-settings-lang
|
||||
|
||||
```
|
||||
|
||||
## Desktop multimedia and media devices
|
||||
|
||||
|
||||
The media in linux its per se reduced, and in alpine so then more limited,
|
||||
with this lines you will have all the need suported, for converting and playing,
|
||||
and minimal support for editing.
|
||||
|
||||
1. install support for media management muti format over the programs
|
||||
2. install support for sound and output of notifications over the programas
|
||||
3. install support for media format reading and management backend (convertiion and reading)
|
||||
4. install viewers for video and audio files
|
||||
5. install management backend for media devices
|
||||
6. install video resoulution flexibility and network backend support
|
||||
7. install network frontend support and frontend management of network
|
||||
8. install service task manager on boot
|
||||
9. setup service of wifi backend management
|
||||
10. setup general networking backend management service
|
||||
11. setup all the users to property manage the audio, video and network devices
|
||||
12. reconfigure the interfaces so the network gui can then manage it
|
||||
13. start the network manager backend services, so the gui can manager then
|
||||
14. at this point logout and relogin from your current sesion to start to work
|
||||
|
||||
```
|
||||
apk add gst-plugins-base gst-plugins-bad gst-plugins-bad-lang gst-plugins-ugly gst-plugins-ugly-lang gst-plugins-good gst-plugins-good-gtk
|
||||
|
||||
apk add libcanberra-gtk2 libcanberra-gtk3 libcanberra-gstreamer wxgtk-media wxgtk3-media wxgtk-lang
|
||||
|
||||
apk add mediainfo ffmpeg ffmpeg-doc ffmpeg-libs lame lame-doc rtkit rtkit-doc
|
||||
|
||||
apk add mpv mpv-doc deadbeef deadbeef-lang deadbeef-doc
|
||||
|
||||
apk add gvfs gvfs-fuse gvfs-archive gvfs-afp gvfs-afp gvfs-afc gvfs-cdda gvfs-gphoto2 gvfs-mtp pcmanfm
|
||||
|
||||
apk add libxinerama xrandr wpa_supplicant dhcpcd chrony macchanger wireless-tools iputils
|
||||
|
||||
apk add network-manager-applet network-manager-applet-lang networkmanager networkmanager-lang networkmanager-elogind networkmanager-elogind-lang networkmanager-elogind-openrc networkmanager-openvpn networkmanager-openvpn-lang
|
||||
|
||||
rc-update add chrony
|
||||
|
||||
rc-update add wpa_supplicant
|
||||
|
||||
rc-update add networkmanager
|
||||
|
||||
for u in $(ls /home); do for g in plugdev audio cdrom dialout video netdev; do addgroup $u $g; done;done
|
||||
|
||||
cat > /etc/network/interfaces << EOF
|
||||
auto lo
|
||||
iface lo inet loopback
|
||||
EOF
|
||||
|
||||
service networking restart
|
||||
|
||||
service wpa_supplicant restart
|
||||
|
||||
service networkmanager restart
|
||||
|
||||
```
|
||||
|
||||
## Desktop Office suite
|
||||
|
||||
In linux world there's no mayor suite or programs in such topic,
|
||||
just we need a reader (pdf, ebooks, cbr, zbr, etc) and office
|
||||
suite for word/calc processing (doc, xls, odt, ods, etc).
|
||||
|
||||
|
||||
```
|
||||
apk add libreoffice libreoffice-gnome evince evince-lang evince-doc
|
||||
```
|
||||
|
||||
The programs will appear in the Office menu category.
|
||||
|
||||
## development
|
||||
|
||||
This is only for those that dont want to download bunch of thing
|
||||
when install some programs from sources. In any cae, modding and plugin hacks
|
||||
will need this for minecraft or minetest hard hacker players.
|
||||
|
||||
The most important tool for development is the VCS: version control system.
|
||||
The most usefull too for GUI development is the IDE: intregrated development environment
|
||||
|
||||
From this, there's the RAD, means Rapid Application Development and the
|
||||
prefered way model for starting newbies..
|
||||
|
||||
#### base console development
|
||||
|
||||
1. install the minimal standard needs like make, cmake and gcc, pkg-config was superset by pkgconf
|
||||
2. install set of tools to merge or compare files
|
||||
3. install the most used version control service: git (GIT) VCS
|
||||
4. install the second most used version control service optionally: subversion (SVN) VCS
|
||||
5. install the so famous version control service: mercurial (HG) VCS
|
||||
6. install session terminal handler, so can save terminal sessions
|
||||
|
||||
```
|
||||
apk add pkgconf make cmake cmake-bash-completion gcc gcc-gdc gcc-go g++ gcc-objc gcc-doc
|
||||
|
||||
apk add patch patch-doc patchutils patchutils-doc diffutils diffutils-doc
|
||||
|
||||
apk add git git-bash-completion git-zsh-completion git-cvs git-svn github-cli git-diff-highlight git-doc
|
||||
|
||||
apk add subversion subversion-bash-completion subversion-zsh-completion subversion-yash-completion subversion-doc
|
||||
|
||||
apk add mercurial mercurial-bash-completion mercurial-zsh-completion mercurial-doc
|
||||
|
||||
apk add tmux screen
|
||||
```
|
||||
|
||||
From this point you can work in console terminal all development task,
|
||||
of course, each development will need specific need, but this ones installed
|
||||
are always basic and mandatory (almost in all cases).
|
||||
|
||||
Next section, will cover some usefully artifact like an IDE (Intregrated Development Environment):
|
||||
|
||||
#### base gui development
|
||||
|
||||
The most compatible and all availabe IDE is geany, **this powerful tool
|
||||
is very poorly valued, since like everything in linux it must be configured
|
||||
according to your interest**, unlike other java or python craps that comes
|
||||
already configured.
|
||||
|
||||
In such case **Geany is as close to the Unix spirit** it featured: overview,
|
||||
htmlpreview, compile, diff, CVS, colorpicker, htmlpicker, tabletools, codecleanup,
|
||||
and much more.
|
||||
|
||||
For terminal insteach of the usage of tmux or screen inside the already GUI,
|
||||
we recommended the yet ready for similar purposes Terminator.
|
||||
|
||||
```
|
||||
apk add geany geany-plugins-lang geany-plugins-addons geany-plugins-geanyextrasel geany-plugins-overview geany-plugins-geanyvc geany-plugins-treebrowser geany-plugins-tableconvert geany-plugins-spellcheck geany-plugins-shiftcolumn geany-plugins-utils geany-lang meld meld-lang
|
||||
|
||||
apk add terminator terminator-lang
|
||||
```
|
||||
|
||||
## Licensing clarifications
|
||||
|
||||
**CC BY-NC-SA**: the project allows reusers to distribute, remix, adapt, and build upon the material
|
||||
in any medium or format for noncommercial purposes only, and only so long as attribution is given
|
||||
to the creators involved. If you remix, adapt, or build upon the material, you must license the modified
|
||||
material under identical terms, includes the following elements:
|
||||
|
||||
* **BY** – Credit must be given to the creator of each content respectivelly, starting at the first contributor.
|
||||
* **NC** – Only noncommercial uses of the work are permitted, with exceptions if you fill an issue here!
|
||||
* **SA** – Adaptations must be shared under the same terms, you must obey this terms and do not change it.
|
||||
|
||||
## See also
|
||||
|
||||
* [README.md](README.md)
|
||||
* [alpine-newbie-install.md](alpine-newbie-install.md)
|
@ -1,26 +1,21 @@
|
||||
# Alpine XFCE4 quick FF
|
||||
# Alpine XFCE4 desktop setup: FF version
|
||||
===========================================================
|
||||
|
||||
Real machine Pentium Dual Core E5500
|
||||
This was using real machine Pentium Dual Core E5500.
|
||||
For more extended info check [../../newbie/alpine-newbie-xfce-desktop.md](../../newbie/alpine-newbie-xfce-desktop.md)
|
||||
|
||||
### hardware used
|
||||
|
||||
| item | minimal feature | we need more? |
|
||||
| ---------------- | --------------- | ---------------------------------- |
|
||||
| CPU | intel Dual Core | Not necesary |
|
||||
| GPU | intel G41 | Radeon X1200 For web browsers and modern apps will be need |
|
||||
| RAM CPU | 2Mb (L2) 4kb/L1 | |
|
||||
| RAM GPU | 256Mb | 1Gb For web browsers and modern apps will be need |
|
||||
| Sotrage | 500Gb HDD WD | 256Gb SSD are mandatory for speed |
|
||||
| ARCH | 32bits (i386) | 64bits (i386) mandatory for most modern apps unfortunatelly |
|
||||
| Audio | AC 97 | HD audio and HDMI audio are a mess |
|
||||
|
||||
### services
|
||||
|
||||
| item | port | software | expuesto-ip | objetivo |
|
||||
| --------- | -------- | -------- | ----------------------------- | ------------- |
|
||||
| vnc | 15000 | vnc | **SI**, to use remote desktop | unfortunatelly trhere's no anydesk for alpine working |
|
||||
| ssh | 19226 | openssh | **NO**, only to be used once | for admin management only |
|
||||
| item | minimal feature | Extra recommendations |
|
||||
| ---------------- | ----------------- | ---------------------------------- |
|
||||
| RAM MB | 1Gb DDR1 | 6Gb DDR3, web browsers consumes so much |
|
||||
| CPU | intel Dual Core | Not necesary |
|
||||
| RAM CPU | 2Mb (L2) 4kb/L1 | |
|
||||
| GPU | intel G41 | Radeon X1200 For web browsers and modern apps will be need |
|
||||
| RAM GPU | 256Mb | 1Gb For web browsers and modern apps will be need |
|
||||
| Storage | 120Gb HDD WD | 256Gb SSD are mandatory for speed |
|
||||
| ARCH | 32bits (i386/arm6)| 64bits (i386) mandatory for most modern apps unfortunatelly |
|
||||
| Audio | AC 97 | HD audio and HDMI audio are a mess |
|
||||
|
||||
### usernames
|
||||
|
||||
@ -31,67 +26,34 @@ Real machine Pentium Dual Core E5500
|
||||
| user | general | general |
|
||||
|
||||
|
||||
# XFCE4 over alpine linux
|
||||
================================================
|
||||
|
||||
* [preparation](#preparation-xfce4-aline)
|
||||
* [instalation](#instalation)
|
||||
* [Preparation](#preparation-xfce4-aline)
|
||||
* [Instalation](#instalation)
|
||||
* [setup OS configuration](#setup-os-configuration)
|
||||
* [configuration programs and repositories](#configuration-programs-and-repositories)
|
||||
* [setup system users](#setup-system-users)
|
||||
* [setup hardware media support and xorg](#setup-hardware-media-support-and-xorg)
|
||||
* [instalation xorg](#instalacion-xorg-apine)
|
||||
* [instalacion xfce](#instalacion-xfce4-apine)
|
||||
* [Configuracion](#configuracion-xfce4-alpine)
|
||||
* [setup hardware support](#setup-hardware-support)
|
||||
* [setup audio and video](#setup-audio-and-video)
|
||||
* [Instalacion XFCE4 Alpine](#instalacion-xfce4-apine)
|
||||
* [Desktop multimedia and media devices](#desktop-multimedia-and-media-devices)
|
||||
* [Development](#development)
|
||||
* [How to use this guide](#how-to-use-this-guide)
|
||||
* [Licensing clarifications](#licensing-clarifications)
|
||||
* [See also](#see-also)
|
||||
|
||||
## preparation Xfce4 Alpine
|
||||
|
||||
#### booting alpine
|
||||
Alpine must be already installed, check [../../newbie/alpine-newbie-install.md](../../newbie/alpine-newbie-install.md),**
|
||||
|
||||
1. **download the iso image**: any alpine iso from 3.9 to 3.16 are valid, for olders 3.10 are best:
|
||||
https://dl-4.alpinelinux.org/alpine/v3.10/releases/x86_64/alpine-extended-3.10.5-x86_64.iso
|
||||
2. **burn iso to usb or DVD/CD disk** to load into the machine to boot or virtual machine,
|
||||
you must boot the CD/DVD or USB from BIOS/UEFI or from the virtual machine
|
||||
2. **at boot the alpine will ask `login` just type `root`**,
|
||||
this will permit to run commands to install the operatinig system
|
||||
|
||||
#### instalation
|
||||
|
||||
```
|
||||
export BOOT_SIZE=500
|
||||
|
||||
export SWAP_SIZE=8182
|
||||
|
||||
export BOOTLOADER=grub
|
||||
|
||||
setup-alpine
|
||||
```
|
||||
|
||||
* teclado y variante, ejemplo para latino es `es` y depues `es-winkeys`
|
||||
* hostname: escribir `venenux-desktop`, es el nombre de la computadora.
|
||||
* Opciones de red: seleccione `eth0` porque asumimos una sola interfaz
|
||||
* Opciones de red (ip): contestar `none` despues contestar `no` a manual
|
||||
* Opciones de DNS: (dominio) escriba `fusilsystem.com` y enter
|
||||
* Opciones de DNS: (nameserver) se recomienda usar `8.8.8.8`
|
||||
* Opcion de clave root, escribir "root" las dos veces, despues se mejorara!
|
||||
* Opciones de zona horaria: solo use UTC
|
||||
* Opciones de proxy: use `none` y si uso dhcp en red ya tendra internet.
|
||||
* Opciones de repo mirror: cuando pregunte escriba `done`
|
||||
* Opciones de SSH: use `openssh` el paquete que ya viene en el medio.
|
||||
* Opciones de NTP: use `chrony` el paquete que ya viene en el medio.
|
||||
* Opciones de disco: use "sda" ya que se usara todo el disco duro presente.
|
||||
* Modo: seleccione "sys" para instalar el sistema en el disco.
|
||||
* Confirmacion de borrado: pedira confirme borrar el disco conteste `y`
|
||||
* Confirmacion de particiones: solo sale si tiene previas, conteste `y`
|
||||
**If you dont have direct network connection, please use our direct VenenuX Alpine ISOS**
|
||||
[CURRENT LINK https://t.me/alpine_linux/762, but ask in telegram alpine network for newer one or other arches](https://t.me/s/alpine_linux/762)
|
||||
|
||||
#### setup OS configuration
|
||||
|
||||
For more extended info check [../../newbie/alpine-newbie-xfce-desktop.md](../../newbie/alpine-newbie-xfce-desktop.md#setup-os-configuration)
|
||||
|
||||
```
|
||||
sed -i -r 's|#PermitRootLogin.*|PermitRootLogin no|g' /etc/ssh/sshd_config
|
||||
|
||||
service sshd restart
|
||||
|
||||
rc-update add sshd default
|
||||
rc-service sshd restart;rc-update add sshd default
|
||||
|
||||
hostname venenux-desktop
|
||||
echo 'hostname="venenux-desktop"' > /etc/conf.d/hostname
|
||||
@ -113,9 +75,7 @@ iface eth0 inet6 dhcp
|
||||
pre-up echo 0 > /proc/sys/net/ipv6/conf/eth0/accept_ra
|
||||
EOF
|
||||
|
||||
rc-service networking restart
|
||||
|
||||
rc-update add networking boot
|
||||
rc-service networking restart;rc-update add networking boot
|
||||
|
||||
cat > /root/.cshrc << EOF
|
||||
unsetenv DISPLAY || true
|
||||
@ -135,9 +95,7 @@ adduser -D -g "" -u 998 -h /opt/daru -s /bin/csh daru
|
||||
echo "daru:daru" | chpasswd
|
||||
|
||||
rm -f /opt/daru/*
|
||||
|
||||
mkdir /opt/daru
|
||||
|
||||
cat > /opt/daru/.cshrc << EOF
|
||||
unsetenv DISPLAY
|
||||
set autologout = 6
|
||||
@ -146,13 +104,8 @@ set history = 0
|
||||
set ignoreeof
|
||||
EOF
|
||||
cp /opt/daru/.cshrc /opt/daru/.bashrc
|
||||
chown -R daru:daru /opt/daru
|
||||
|
||||
```
|
||||
|
||||
#### configuration programs and repositories
|
||||
|
||||
|
||||
``` bash
|
||||
cat > /etc/apk/repositories << EOF
|
||||
http://dl-4.alpinelinux.org/alpine/v$(cat /etc/alpine-release | cut -d'.' -f1,2)/main
|
||||
http://dl-4.alpinelinux.org/alpine/v$(cat /etc/alpine-release | cut -d'.' -f1,2)/community
|
||||
@ -160,40 +113,27 @@ EOF
|
||||
|
||||
apk update
|
||||
|
||||
apk add sed sed-doc attr attr-doc dialog dialog-doc lsof less less-doc groff groff-doc
|
||||
|
||||
apk add man-pages nano nano-doc binutils binutils-doc coreutils coreutils-doc readline readline-doc
|
||||
|
||||
apk add wget wget-doc curl curl-doc bash bash-doc bash-completion terminus-font
|
||||
|
||||
apk add zip p7zip xz tar cabextract cpio binutils lha acpi
|
||||
apk add man-db man-pages nano binutils coreutils readline \
|
||||
sed attr dialog lsof less groff wget curl terminus-font \
|
||||
zip p7zip xz tar cabextract cpio binutils lha acpi musl-locales musl-locales-lang
|
||||
|
||||
export PAGER=less
|
||||
|
||||
apk add musl-locales musl-locales-lang man-db
|
||||
|
||||
```
|
||||
|
||||
#### setup system users
|
||||
|
||||
|
||||
```
|
||||
apk add shadow shadow-doc shadow-uidmap bash bash-doc bash-completion bash-dev doas doas-doc
|
||||
apk add shadow shadow-uidmap doas musl-locales musl-locales-lang
|
||||
|
||||
cat > /tmp/tmp.tmp << EOF
|
||||
cat > /tmp/tmpcs.tmp << EOF
|
||||
set history = 10000
|
||||
if (\$?prompt) then
|
||||
set prompt = "$ "
|
||||
set history = 10000
|
||||
endif
|
||||
set prompt = "$ "
|
||||
EOF
|
||||
|
||||
for i in $(ls /home);do cat /tmp/tmp.tmp > /home/$i/.cshrc;done
|
||||
for i in $(ls /home);do cat /tmp/tmp.tmp > /home/$i/.bashrc;done
|
||||
|
||||
mkdir /etc/skel
|
||||
cat /tmp/tmp.tmp > /etc/skel/.cshrc
|
||||
cat /tmp/tmp.tmp > /etc/skel/.bashrc
|
||||
cat /tmp/tmpcs.tmp > /etc/skel/.cshrc
|
||||
cat /tmp/tmpbs.tmp > /etc/skel/.bashrc
|
||||
|
||||
cat > /etc/skel/.Xresources << EOF
|
||||
Xft.antialias: 0
|
||||
@ -215,78 +155,79 @@ EOF
|
||||
|
||||
cat > /etc/login.defs << EOF
|
||||
USERGROUPS_ENAB yes
|
||||
#MAIL_DIR /var/mail
|
||||
#MAIL_FILE .mail
|
||||
#FAILLOG_ENAB yes
|
||||
LOG_OK_LOGINS no
|
||||
SYSLOG_SU_ENAB yes
|
||||
SYSLOG_SG_ENAB yes
|
||||
SULOG_FILE /var/log/sulog
|
||||
SU_NAME su
|
||||
ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
|
||||
ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
|
||||
UMASK 022
|
||||
UID_MIN 1000
|
||||
UID_MAX 60000
|
||||
SYS_UID_MIN 100
|
||||
SYS_UID_MAX 999
|
||||
GID_MIN 1000
|
||||
GID_MAX 60000
|
||||
SYS_GID_MIN 100
|
||||
SYS_GID_MAX 999
|
||||
LOGIN_RETRIES 3
|
||||
LOGIN_TIMEOUT 60
|
||||
CONSOLE_GROUPS floppy:audio:cdrom:users
|
||||
EOF
|
||||
|
||||
useradd -m -U -c "" -G wheel,input,disk,floppy,cdrom,dialout,audio,video,lp,netdev,games,users,ping general
|
||||
|
||||
useradd -m -U -c "" -G wheel,input,disk,floppy,cdrom,dialout,netdev,audio,video,lp,usb,users,ping general
|
||||
|
||||
for u in $(ls /home); do for g in disk lp floppy audio cdrom dialout video netdev games users; do addgroup $u $g; done;done
|
||||
for u in $(ls /home); do for g in disk lp floppy audio cdrom dialout video lp netdev games users ping; do addgroup $u $g; done;done
|
||||
```
|
||||
|
||||
#### setup hardware media support and xorg
|
||||
**WARNING** your user name must be `general`, you can put a "human name" as you wish, later.
|
||||
|
||||
For more details check [../../newbie/alpine-newbie-xfce-desktop.md](../../newbie/alpine-newbie-xfce-desktop.md#setup-system-users)
|
||||
|
||||
#### setup hardware support
|
||||
|
||||
```
|
||||
apk add eudev eudev-doc eudev-rule-generator eudev-openrc
|
||||
apk add acpi eudev eudev-doc eudev-rule-generator eudev-openrc linux-firmware \
|
||||
fuse fuse-exfat-utils fuse-exfat avfs pcre2 cpufreqd bluez bluez-openrc \
|
||||
wpa_supplicant dhcpcd chrony macchanger wireless-tools iputils \
|
||||
networkmanager networkmanager-lang networkmanager-openvpn networkmanager-openvpn-lang
|
||||
|
||||
rc-update add udev
|
||||
|
||||
rc-update add acpid
|
||||
rc-update add cpufreqd
|
||||
rc-update add fuse
|
||||
rc-update add bluetooth
|
||||
rc-update add chrony
|
||||
rc-update add wpa_supplicant
|
||||
rc-update add networkmanager
|
||||
|
||||
setup-xorg-base xinit mesa-dri-gallium linux-firmware kbd xf86-input-evdev xf86-input-synaptics setxkbmap
|
||||
rc-service networking restart
|
||||
|
||||
apk add libxinerama xrandr
|
||||
rc-service wpa_supplicant restart
|
||||
|
||||
apk add acpi dbus dbus-x11 elogind elogind-openrc elogind-lang polkit polkit-openrc polkit-elogind lightdm lightdm-lang lightdm-gtk-greeter
|
||||
rc-service bluetooth restart
|
||||
|
||||
rc-service udev restart
|
||||
|
||||
rc-service fuse restart
|
||||
|
||||
rc-service cpufreqd restart
|
||||
|
||||
```
|
||||
|
||||
For more details check [../../newbie/alpine-newbie-xfce-desktop.md](../../newbie/alpine-newbie-xfce-desktop.md#setup-software-graphical-fonts-and-languajes)
|
||||
|
||||
#### setup audio and video
|
||||
|
||||
```
|
||||
setup-xorg-base xinit mesa-dri-gallium xf86-video-dummy xf86-video-modesetting xf86-video-vesa
|
||||
|
||||
apk add libxinerama xrandr kbd setxkbmap bluez bluez-openrc \
|
||||
dbus dbus-x11 elogind elogind-openrc lightdm lightdm-lang lightdm-gtk-greeter \
|
||||
polkit polkit-openrc polkit-elogind udisks2 udisks2-lang \
|
||||
gvfs gvfs-fuse gvfs-archive gvfs-dav gvfs-nfs gvfs-lang \
|
||||
networkmanager-elogind networkmanager-elogind-lang networkmanager-elogind-openrc
|
||||
|
||||
dbus-uuidgen > /var/lib/dbus/machine-id
|
||||
|
||||
rc-update add dbus
|
||||
|
||||
rc-update add elogind
|
||||
|
||||
rc-update add polkit
|
||||
rc-update add lightdm
|
||||
|
||||
apk add ttf-dejavu font-bitstream-type1 font-bitstream-100dpi font-bitstream-75dpi
|
||||
apk add font-noto-all ttf-dejavu ttf-linux-libertine ttf-liberation \
|
||||
font-bitstream-type1 font-bitstream-100dpi font-bitstream-75dpi \
|
||||
font-adobe-utopia-type1 font-adobe-utopia-75dpi font-adobe-utopia-100dpi \
|
||||
font-isas-misc
|
||||
|
||||
apk add terminus-font font-noto font-noto-extra font-arabic-misc ttf-liberation ttf-linux-libertine
|
||||
|
||||
apk add font-misc-cyrillic font-mutt-misc font-screen-cyrillic font-winitzki-cyrillic font-cronyx-cyrillic
|
||||
|
||||
apk add font-noto-arabic font-noto-armenian font-noto-cherokee font-noto-devanagari font-noto-ethiopic font-noto-georgian
|
||||
|
||||
apk add font-noto-hebrew font-noto-lao font-noto-malayalam font-noto-tamil font-noto-thaana font-noto-thai
|
||||
|
||||
setfont /usr/share/consolefonts/ter-132n.psf.gz
|
||||
|
||||
sed -i "s#.*consolefont.*=.*#consolefont="ter-132n.psf.gz"#g" /etc/conf.d/consolefont
|
||||
|
||||
rc-update add consolefont boot
|
||||
|
||||
apk add alsa-utils alsa-utils-doc alsa-plugins alsa-plugins-doc alsa-tools alsa-tools-doc alsaconf pipewire pipewire-doc pipewire-pulse pipewire-alsa sndio sndio-doc
|
||||
|
||||
rc-service dbus start
|
||||
apk add alsa-utils alsa-plugins alsa-tools alsaconf \
|
||||
pipewire pipewire-pulse pipewire-alsa pipewire-spa-bluez
|
||||
|
||||
cat > /etc/security/limits.d/audio-limits.conf << EOF
|
||||
@audio - memlock 256
|
||||
@ -294,129 +235,103 @@ cat > /etc/security/limits.d/audio-limits.conf << EOF
|
||||
@audio - rtprio 88
|
||||
EOF
|
||||
|
||||
apk add bluez bluez-openrc pipewire-spa-bluez
|
||||
rc-service dbus restart
|
||||
|
||||
rc-update add bluetooth
|
||||
rc-service elogind restart
|
||||
|
||||
rc-service bluetooth start
|
||||
rc-service polkit restart
|
||||
|
||||
apk add cpufreqd
|
||||
rc-service lightdm restart
|
||||
|
||||
rc-update add cpufreqd
|
||||
|
||||
apk add gtk-update-icon-cache vte3 pcre2 udisks2 udisks2-lang udisks2-doc
|
||||
|
||||
apk add fuse fuse-exfat-utils archivemount fuse-exfat avfs
|
||||
|
||||
rc-service fuse start
|
||||
|
||||
rc-update add fuse
|
||||
|
||||
apk add gvfs gvfs-fuse gvfs-archive gvfs-dav gvfs-nfs gvfs-lang
|
||||
```
|
||||
|
||||
For more details check [../../newbie/alpine-newbie-xfce-desktop.md](../../newbie/alpine-newbie-xfce-desktop.md#setup-software-graphical-fonts-and-languajes)
|
||||
|
||||
## instalacion Xfce4 Alpine
|
||||
|
||||
Since Alpine 3.13 the XFCE4 desktop its GTK3 for 32bit devices its better to use alpine 3.10
|
||||
or 3.12 that uses GTK2 for almost all the programs.
|
||||
|
||||
```
|
||||
apk add xfwm4-themes hicolor-icon-theme paper-gtk-theme network-manager-applet adwaita-icon-theme mate-themes
|
||||
apk add gtk-update-icon-cache hicolor-icon-theme paper-gtk-theme adwaita-icon-theme
|
||||
|
||||
apk add xfce4 xfce4-terminal xfce4-screensaver xfce4-session xfce4-session-doc xarchiver mousepad
|
||||
apk add xfce4 xfce4-session xfce4-panel xfce4-terminal xarchiver mousepad \
|
||||
xfwm4-themes xfce-polkit xfce4-skel xfce4-power-manager xfce4-settings \
|
||||
xfce4-clipman-plugin xfce4-xkb-plugin xfce4-screensaver xfce4-screenshooter xfce4-taskmanager \
|
||||
xfce4-panel-lang xfce4-clipman-plugin-lang xfce4-xkb-plugin-lang xfce4-screenshooter-lang \
|
||||
xfce4-taskmanager-lang xfce4-battery-plugin-lang xfce4-power-manager-lang xfce4-settings-lang \
|
||||
gvfs gvfs-fuse gvfs-archive gvfs-afp gvfs-afp gvfs-afc gvfs-cdda gvfs-gphoto2 gvfs-mtp \
|
||||
network-manager-applet network-manager-applet-lang vte3 \
|
||||
libreoffice libreoffice-gnome evince evince-lang evince-doc
|
||||
|
||||
apk add xfce-polkit xfce4-skel xfce4-power-manager xfce4-power-manager-lang xfce4-settings xfce4-settings-lang
|
||||
rc-service networking restart
|
||||
|
||||
apk add xfce4-panel xfce4-panel-doc xfce4-panel-lang xfce4-clipman-plugin xfce4-clipman-plugin-lang xfce4-xkb-plugin xfce4-xkb-plugin-lang xfce4-xkb-plugin-doc
|
||||
rc-service wpa_supplicant restart
|
||||
|
||||
apk add xfce4-screenshooter xfce4-screenshooter-doc xfce4-screenshooter-lang xfce4-taskmanager xfce4-taskmanager-lang
|
||||
|
||||
apk add xfce4-whiskermenu-plugin xfce4-whiskermenu-plugin-lang xfce4-whiskermenu-plugin-doc xfce4-battery-plugin xfce4-battery-plugin-lang
|
||||
|
||||
rc-update add lightdm
|
||||
rc-service networkmanager restart
|
||||
|
||||
rc-service lightdm restart
|
||||
```
|
||||
|
||||
## multimedia
|
||||
|
||||
|
||||
The media in linux its per se reduced, and in alpine so then more limited,
|
||||
with this lines you will have all the need suported, for converting and playing,
|
||||
for editing
|
||||
|
||||
|
||||
```
|
||||
apk add gst-plugins-base gst-plugins-bad gst-plugins-bad-lang gst-plugins-ugly gst-plugins-ugly-lang gst-plugins-good gst-plugins-good-gtk
|
||||
|
||||
apk add libcanberra-gtk2 libcanberra-gtk3 libcanberra-gstreamer wxgtk-media wxgtk3-media wxgtk-lang
|
||||
## Desktop multimedia and media devices
|
||||
|
||||
apk add mediainfo ffmpeg ffmpeg-doc ffmpeg-libs lame lame-doc rtkit rtkit-doc
|
||||
```
|
||||
apk add gst-plugins-base gst-plugins-bad gst-plugins-ugly gst-plugins-good gst-plugins-good-gtk \
|
||||
libcanberra-gtk2 libcanberra-gtk3 libcanberra-gstreamer wxgtk-media wxgtk3-media wxgtk-lang \
|
||||
mediainfo ffmpeg ffmpeg-doc ffmpeg-libs lame lame-doc rtkit rtkit-doc \
|
||||
mpv mpv-doc deadbeef deadbeef-lang libxinerama xrandr
|
||||
|
||||
apk add mpv mpv-doc deadbeef deadbeef-lang deadbeef-doc
|
||||
|
||||
apk add gvfs gvfs-fuse gvfs-archive gvfs-afp gvfs-afp gvfs-afc gvfs-cdda gvfs-gphoto2 gvfs-mtp
|
||||
|
||||
apk add libxinerama xrandr wpa_supplicant dhcpcd chrony macchanger wireless-tools iputils
|
||||
|
||||
apk add network-manager-applet network-manager-applet-lang networkmanager networkmanager-lang networkmanager-elogind networkmanager-elogind-lang networkmanager-elogind-openrc networkmanager-openvpn networkmanager-openvpn-lang
|
||||
|
||||
rc-update add chrony
|
||||
|
||||
rc-update add wpa_supplicant
|
||||
|
||||
rc-update add networkmanager
|
||||
|
||||
for u in $(ls /home); do for g in plugdev; do addgroup $u $g; done;done
|
||||
for u in $(ls /home); do for g in plugdev audio cdrom dialout video netdev; do addgroup $u $g; done;done
|
||||
|
||||
cat > /etc/network/interfaces << EOF
|
||||
auto lo
|
||||
iface lo inet loopback
|
||||
EOF
|
||||
|
||||
service networking restart
|
||||
|
||||
service wpa_supplicant restart
|
||||
|
||||
service networkmanager restart
|
||||
|
||||
```
|
||||
|
||||
## office suite
|
||||
|
||||
In linux world there's no mayor suite or programs in such topic,
|
||||
just we need a reader (pdf, ebooks, cbr, zbr, etc) and office
|
||||
suite for word/calc processing (doc, xls, odt, ods, etc).
|
||||
|
||||
|
||||
```
|
||||
apk add libreoffice libreoffice-gnome evince evince-lang evince-doc
|
||||
```
|
||||
|
||||
## development
|
||||
|
||||
This is only for those that dont want to download bunch of thing
|
||||
when install some programs from sources. In any cae, modding and plugin hacks
|
||||
will need this for minecraft or minetest hard hacker players.
|
||||
|
||||
#### base console only devel
|
||||
|
||||
|
||||
```
|
||||
apk add make cmake cmake-bash-completion gcc gcc-gdc gcc-go g++ gcc-objc gcc-doc
|
||||
|
||||
apk add patch patch-doc patchutils patchutils-doc diffutils diffutils-doc
|
||||
|
||||
apk add git git-bash-completion git-zsh-completion git-cvs git-svn github-cli git-diff-highlight git-doc
|
||||
|
||||
apk add subversion subversion-bash-completion subversion-zsh-completion subversion-yash-completion subversion-doc
|
||||
|
||||
apk add mercurial mercurial-bash-completion mercurial-zsh-completion mercurial-doc
|
||||
apk add pkgconf make cmake gcc gcc-gdc gcc-go g++ gcc-objc gcc-doc \
|
||||
patch patch-doc patchutils patchutils-doc diffutils diffutils-doc \
|
||||
git git-cvs git-svn github-cli git-diff-highlight git-doc \
|
||||
subversion subversion-doc mercurial mercurial-doc \
|
||||
geany geany-plugins-lang geany-plugins-addons geany-plugins-geanyextrasel \
|
||||
geany-plugins-overview geany-plugins-geanyvc geany-plugins-treebrowser \
|
||||
geany-plugins-tableconvert geany-plugins-spellcheck geany-plugins-shiftcolumn \
|
||||
geany-plugins-utils geany-lang \
|
||||
terminator terminator-lang tmux screen meld meld-lang
|
||||
```
|
||||
|
||||
#### base gui devel
|
||||
## How to use this guide
|
||||
|
||||
Just install alpine, and try to login as root using that command:
|
||||
|
||||
```
|
||||
apk add geany geany-plugins-lang geany-plugins-addons geany-plugins-geanyextrasel geany-plugins-overview geany-plugins-geanyvc geany-plugins-treebrowser geany-plugins-tableconvert geany-plugins-spellcheck geany-plugins-shiftcolumn geany-plugins-utils geany-lang meld meld-lang
|
||||
1. at the Alpine installation: `sed -i 's|.*PermitRootLogin.*|PermitRootLogin yes|g' /etc/ssh/sshd_config;service sshd restart`
|
||||
2. at the other OS just connect: `ssh -l root <ip>` change "`<ip>`" with the address of your device.
|
||||
3. copy each separated by empty line, block of command, copy only blocks separate by empty line
|
||||
4. and paste each separated by empty line block in the remnote (ssh), do not paste all the blocks at same time!
|
||||
|
||||
apk add terminator terminator-lang
|
||||
```
|
||||
**CAUTION** Some Linux or/and Mac terminals have security cut/paste locks, so
|
||||
if you paste, the first line will be preceded by garbage, check always the first char of your paste.
|
||||
|
||||
**WARNING** after finish, rerun: `sed -i -r 's|.*PermitRootLogin.*|PermitRootLogin no|g' /etc/ssh/sshd_config`
|
||||
and restart ssh `service sshd restart` becouse security implications.
|
||||
|
||||
## Licensing clarifications
|
||||
|
||||
**CC BY-NC-SA**: the project allows reusers to distribute, remix, adapt, and build upon the material
|
||||
in any medium or format for noncommercial purposes only, and only so long as attribution is given
|
||||
to the creators involved. If you remix, adapt, or build upon the material, you must license the modified
|
||||
material under identical terms, includes the following elements:
|
||||
|
||||
* **BY** – Credit must be given to the creator of each content respectivelly, starting at the first contributor.
|
||||
* **NC** – Only noncommercial uses of the work are permitted, with exceptions if you fill an issue here!
|
||||
* **SA** – Adaptations must be shared under the same terms, you must obey this terms and do not change it.
|
||||
|
||||
## See also
|
||||
|
||||
* [README.md](README.md)
|
||||
* [alpine-newbie-install.md](alpine-newbie-install.md)
|
||||
|
Loading…
Reference in New Issue
Block a user