diff --git a/newbie/README.md b/newbie/README.md index 3e454fb..b1ee860 100644 --- a/newbie/README.md +++ b/newbie/README.md @@ -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 diff --git a/newbie/alpine-newbie-prepare.md b/newbie/alpine-newbie-prepare.md index f67c238..dac55e9 100644 --- a/newbie/alpine-newbie-prepare.md +++ b/newbie/alpine-newbie-prepare.md @@ -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). + diff --git a/newbie/alpine-newbie-xfce-desktop.md b/newbie/alpine-newbie-xfce-desktop.md new file mode 100644 index 0000000..49227fa --- /dev/null +++ b/newbie/alpine-newbie-xfce-desktop.md @@ -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) diff --git a/tutorials/community-way/alpine-tutorial-desktop-xfce4-fast-forward.md b/tutorials/community-way/alpine-tutorial-desktop-xfce4-fast-forward.md index 95dee3e..a722cbf 100644 --- a/tutorials/community-way/alpine-tutorial-desktop-xfce4-fast-forward.md +++ b/tutorials/community-way/alpine-tutorial-desktop-xfce4-fast-forward.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 ` change "``" 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)