https://wiki.archlinux.org/api.php?action=feedcontributions&user=Meskarune&feedformat=atomArchWiki - User contributions [en]2024-03-29T11:39:42ZUser contributionsMediaWiki 1.41.0https://wiki.archlinux.org/index.php?title=GRUB&diff=741034GRUB2022-08-11T09:27:07Z<p>Meskarune: /* Custom grub.cfg */ Added information on booting an arch linux iso file.</p>
<hr />
<div>[[Category:Boot loaders]]<br />
[[Category:GNU]]<br />
[[de:GRUB]]<br />
[[es:GRUB]]<br />
[[fa:گراب]]<br />
[[fr:GRUB]]<br />
[[ja:GRUB]]<br />
[[pt:GRUB]]<br />
[[ru:GRUB]]<br />
[[zh-hans:GRUB]]<br />
{{Related articles start}}<br />
{{Related|Arch boot process}}<br />
{{Related|Master Boot Record}}<br />
{{Related|GUID Partition Table}}<br />
{{Related|Unified Extensible Firmware Interface}}<br />
{{Related|GRUB Legacy}}<br />
{{Related|GRUB/EFI examples}}<br />
{{Related|GRUB/Tips and tricks}}<br />
{{Related|Multiboot USB drive}}<br />
{{Related articles end}}<br />
[https://www.gnu.org/software/grub/ GRUB] (GRand Unified Bootloader) is a [[boot loader]]. The current GRUB is also referred to as '''GRUB 2'''. The original GRUB, or [[GRUB Legacy]], corresponds to versions 0.9x. This page exclusively describes GRUB 2.<br />
<br />
{{Note|In the entire article {{ic|''esp''}} denotes the mountpoint of the [[EFI system partition]] aka ESP.}}<br />
<br />
== UEFI systems ==<br />
<br />
{{Note|<br />
* It is recommended to read and understand the [[Unified Extensible Firmware Interface]], [[Partitioning#GUID Partition Table]] and [[Arch boot process#Under UEFI]] pages.<br />
* When installing to use UEFI it is important to boot the installation media in UEFI mode, otherwise ''efibootmgr'' will not be able to add the GRUB UEFI boot entry. Installing to the [[#Default/fallback boot path|fallback boot path]] will still work even in BIOS mode since it does not touch the NVRAM.<br />
* To boot from a disk using UEFI, an EFI system partition is required. Follow [[EFI system partition#Check for an existing partition]] to find out if you have one already, otherwise you need to create it.<br />
}}<br />
<br />
=== Installation ===<br />
<br />
{{Note|<br />
* UEFI firmwares are not implemented consistently across manufacturers. The procedure described below is intended to work on a wide range of UEFI systems but those experiencing problems despite applying this method are encouraged to share detailed information, and if possible the workarounds found, for their hardware-specific case. A [[GRUB/EFI examples]] article has been provided for such cases.<br />
* The section assumes you are installing GRUB for x86_64 systems. For IA32 (32-bit) UEFI systems (not to be confused with 32-bit CPUs), replace {{ic|x86_64-efi}} with {{ic|i386-efi}} where appropriate.<br />
}}<br />
<br />
First, [[install]] the packages {{Pkg|grub}} and {{Pkg|efibootmgr}}: ''GRUB'' is the bootloader while ''efibootmgr'' is used by the GRUB installation script to write boot entries to NVRAM. <br />
<br />
Then follow the below steps to install GRUB to your disk:<br />
<br />
# [[EFI system partition#Mount the partition|Mount the EFI system partition]] and in the remainder of this section, substitute {{ic|''esp''}} with its mount point.<br />
# Choose a bootloader identifier, here named {{ic|GRUB}}. A directory of that name will be created in {{ic|''esp''/EFI/}} to store the EFI binary and this is the name that will appear in the UEFI boot menu to identify the GRUB boot entry.<br />
# Execute the following command to install the GRUB EFI application {{ic|grubx64.efi}} to {{ic|''esp''/EFI/GRUB/}} and install its modules to {{ic|/boot/grub/x86_64-efi/}}. {{Note|Make sure to install the packages and run the {{ic|grub-install}} command from the system in which GRUB will be installed as the boot loader. That means if you are booting from the live installation environment, you need to be inside the chroot when running {{ic|grub-install}}. If for some reason it is necessary to run {{ic|grub-install}} from outside of the installed system, append the {{ic|1=--boot-directory=}} option with the path to the mounted {{ic|/boot}} directory, e.g {{ic|1=--boot-directory=/mnt/boot}}.}} {{bc|1=# grub-install --target=x86_64-efi --efi-directory=''esp'' --bootloader-id=GRUB}}<br />
<br />
After the above installation completed, the main GRUB directory is located at {{ic|/boot/grub/}}. Note that {{ic|grub-install}} also tries to [[#Create a GRUB entry in the firmware boot manager|create an entry in the firmware boot manager]], named {{ic|GRUB}} in the above example – this will, however, fail if your boot entries are full; use [[efibootmgr]] to remove unnecessary entries.<br />
<br />
Remember to [[#Generate the main configuration file]] after finalizing the configuration.<br />
<br />
{{Tip|If you use the option {{ic|--removable}} then GRUB will be installed to {{ic|''esp''/EFI/BOOT/BOOTX64.EFI}} (or {{ic|''esp''/EFI/BOOT/BOOTIA32.EFI}} for the {{ic|i386-efi}} target) and you will have the additional ability of being able to boot from the drive in case EFI variables are reset or you move the drive to another computer. Usually you can do this by selecting the drive itself similar to how you would using BIOS. If dual booting with Windows, be aware Windows usually places an EFI executable there, but its only purpose is to recreate the UEFI boot entry for Windows. If you are installing GRUB on a [[Mac]], you will have to use this option.}}<br />
<br />
{{Note|<br />
* {{ic|--efi-directory}} and {{ic|--bootloader-id}} are specific to GRUB UEFI, {{ic|--efi-directory}} replaces {{ic|--root-directory}} which is deprecated. <br />
* You might note the absence of a ''device_path'' option (e.g.: {{ic|/dev/sda}}) in the {{ic|grub-install}} command. In fact any ''device_path'' provided will be ignored by the GRUB UEFI install script. Indeed, UEFI bootloaders do not use a MBR bootcode or partition boot sector at all.<br />
}}<br />
<br />
See [[#UEFI|UEFI troubleshooting]] in case of problems. Additionally see [[GRUB/Tips and tricks#UEFI further reading]].<br />
<br />
== BIOS systems ==<br />
<br />
=== GUID Partition Table (GPT) specific instructions ===<br />
<br />
On a BIOS/[[GPT]] configuration, a [https://www.gnu.org/software/grub/manual/grub/html_node/BIOS-installation.html#BIOS-installation BIOS boot partition] is required. GRUB embeds its {{ic|core.img}} into this partition.<br />
<br />
{{Note|<br />
* Before attempting this method keep in mind that not all systems will be able to support this partitioning scheme. Read more on [[Partitioning#GUID Partition Table]].<br />
* The BIOS boot partition is only needed by GRUB on a BIOS/GPT setup. On a BIOS/MBR setup, GRUB uses the post-MBR gap for the embedding the {{ic|core.img}}. On GPT, however, there is no guaranteed unused space before the first partition.<br />
* For [[UEFI]] systems this extra partition is not required, since no embedding of boot sectors takes place in that case. However, UEFI systems still require an [[EFI system partition]].<br />
}}<br />
<br />
Create a mebibyte partition ({{ic|1=+1M}} with ''fdisk'' or ''gdisk'') on the disk with no file system and with partition type GUID {{ic|21686148-6449-6E6F-744E-656564454649}}.<br />
<br />
* Select partition type {{ic|BIOS boot}} for [[fdisk]].<br />
* Select partition type code {{ic|ef02}} for [[gdisk]].<br />
* For [[parted]] set/activate the flag {{ic|bios_grub}} on the partition.<br />
<br />
This partition can be in any position order but has to be on the first 2 TiB of the disk. This partition needs to be created before GRUB installation. When the partition is ready, install the bootloader as per the instructions below.<br />
<br />
The space before the first partition can also be used as the BIOS boot partition though it will be out of GPT alignment specification. Since the partition will not be regularly accessed performance issues can be disregarded, though some disk utilities will display a warning about it. In ''fdisk'' or ''gdisk'' create a new partition starting at sector 34 and spanning to 2047 and set the type. To have the viewable partitions begin at the base consider adding this partition last.<br />
<br />
=== Master Boot Record (MBR) specific instructions ===<br />
<br />
Usually the post-MBR gap (after the 512 byte [[MBR]] region and before the start of the first partition) in many MBR partitioned systems is 31 KiB when DOS compatibility cylinder alignment issues are satisfied in the partition table. However a post-MBR gap of about 1 to 2 MiB is recommended to provide sufficient room for embedding GRUB's {{ic|core.img}} ({{Bug|24103}}). It is advisable to use a partitioning tool that supports 1 MiB [[Partitioning#Partition alignment|partition alignment]] to obtain this space as well as to satisfy other non-512-byte-sector issues (which are unrelated to embedding of {{ic|core.img}}).<br />
<br />
=== Installation ===<br />
<br />
[[Install]] the {{Pkg|grub}} package. (It will replace {{AUR|grub-legacy}} if that is already installed.) Then do:<br />
<br />
# grub-install --target=i386-pc ''/dev/sdX''<br />
<br />
where {{ic|''/dev/sdX''}} is the '''disk''' ('''not a partition''') where GRUB is to be installed. For example {{ic|/dev/sda}} or {{ic|/dev/nvme0n1}}, or {{ic|/dev/mmcblk0}}. See [[Device file#Block device names]] for a description of the block device naming scheme.<br />
<br />
Now you must [[#Generate the main configuration file|generate the main configuration file]].<br />
<br />
If you use [[LVM]] for your {{ic|/boot}}, you can install GRUB on multiple physical disks.<br />
<br />
{{Tip|See [[GRUB/Tips and tricks#Alternative installation methods]] for other ways to install GRUB, such as to a USB stick.}}<br />
<br />
See {{man|8|grub-install}} and [https://www.gnu.org/software/grub/manual/grub/html_node/BIOS-installation.html#BIOS-installation GRUB Manual] for more details on the {{ic|grub-install}} command.<br />
<br />
== Configuration ==<br />
<br />
On an installed system, GRUB loads the {{ic|/boot/grub/grub.cfg}} configuration file each boot. You can follow [[#Generated grub.cfg]] for using a tool, or [[#Custom grub.cfg]] for a manual creation.<br />
<br />
=== Generated grub.cfg ===<br />
<br />
This section only covers editing the {{ic|/etc/default/grub}} configuration file. See [[GRUB/Tips and tricks]] for more information.<br />
<br />
{{Note|Remember to always [[#Generate the main configuration file|generate the main configuration file]] after making changes to {{ic|/etc/default/grub}} and/or files in {{ic|/etc/grub.d/}}.}}<br />
<br />
==== Generate the main configuration file ====<br />
<br />
After the installation, the main configuration file {{ic|/boot/grub/grub.cfg}} needs to be generated. The generation process can be influenced by a variety of options in {{ic|/etc/default/grub}} and scripts in {{ic|/etc/grub.d/}}.<br />
<br />
If you have not done additional configuration, the automatic generation will determine the root filesystem of the system to boot for the configuration file. For that to succeed it is important that the system is either booted or chrooted into.<br />
<br />
{{Note|1=<nowiki></nowiki><br />
* The default file path is {{ic|/boot/grub/grub.cfg}}, not {{ic|/boot/grub/i386-pc/grub.cfg}}.<br />
* If you are trying to run ''grub-mkconfig'' in a [[chroot]] or [[systemd-nspawn]] container, you might notice that it does not work: {{ic|grub-probe: error: failed to get canonical path of ''/dev/sdaX''}}. In this case, try using [[arch-chroot]] as described in the [https://bbs.archlinux.org/viewtopic.php?pid=1225067#p1225067 BBS post].<br />
* If you are installing GRUB in chroot environment using LVM and the {{ic|grub-mkconfig}} hangs indefinitely, see [[#Device /dev/xxx not initialized in udev database even after waiting 10000000 microseconds]].<br />
}}<br />
<br />
Use the ''grub-mkconfig'' tool to generate {{ic|/boot/grub/grub.cfg}}:<br />
<br />
# grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
By default the generation scripts automatically add menu entries for all installed Arch Linux [[kernel]]s to the generated configuration.<br />
<br />
{{Tip|<br />
* After installing or removing a [[kernel]], you just need to re-run the above ''grub-mkconfig'' command.<br />
* For tips on managing multiple GRUB entries, for example when using both {{Pkg|linux}} and {{Pkg|linux-lts}} kernels, see [[GRUB/Tips and tricks#Multiple entries]].<br />
}}<br />
<br />
To automatically add entries for other installed operating systems, see [[#Detecting other operating systems]].<br />
<br />
You can add additional custom menu entries by editing {{ic|/etc/grub.d/40_custom}} and re-generating {{ic|/boot/grub/grub.cfg}}. Or you can create {{ic|/boot/grub/custom.cfg}} and add them there. Changes to {{ic|/boot/grub/custom.cfg}} do not require re-running ''grub-mkconfig'', since {{ic|/etc/grub.d/41_custom}} adds the necessary {{ic|source}} statement to the generated configuration file.<br />
<br />
{{Tip|{{ic|/etc/grub.d/40_custom}} can be used as a template to create {{ic|/etc/grub.d/''nn''_custom}}, where {{ic|''nn''}} defines the precedence, indicating the order the script is executed. The order scripts are executed determine the placement in the GRUB boot menu. {{ic|''nn''}} should be greater than {{ic|06}} to ensure necessary scripts are executed first.}}<br />
<br />
See [[#Boot menu entry examples]] for custom menu entry examples.<br />
<br />
==== Detecting other operating systems ====<br />
<br />
To have ''grub-mkconfig'' search for other installed systems and automatically add them to the menu, [[install]] the {{Pkg|os-prober}} package and [[mount]] the partitions from which the other systems boot. Then re-run ''grub-mkconfig''. If you get the following output: {{ic|Warning: os-prober will not be executed to detect other bootable partitions}} then edit {{ic|/etc/default/grub}} and add/uncomment:<br />
GRUB_DISABLE_OS_PROBER=false<br />
Then try again.<br />
<br />
{{Note| <br />
* The exact mount point does not matter, ''os-prober'' reads the {{ic|mtab}} to identify places to search for bootable entries.<br />
* Remember to mount the partitions each time you run ''grub-mkconfig'' in order to include the other operating systems every time.<br />
}}<br />
<br />
{{Tip|You might also want GRUB to remember the last chosen boot entry, see [[GRUB/Tips and tricks#Recall previous entry]].}}<br />
<br />
===== Windows =====<br />
<br />
For Windows installed in UEFI mode, make sure the [[EFI system partition]] containing the Windows Boot Manager ({{ic|bootmgfw.efi}}) is mounted. Run {{ic|os-prober}} as root to detect and generate an entry for it.<br />
<br />
For Windows installed in BIOS mode, mount the Windows ''system partition'' (its [[Persistent block device naming#by-label|file system label]] should be {{ic|System Reserved}} or {{ic|SYSTEM}}). Run {{ic|os-prober}} as root to detect and generate an entry for it.<br />
<br />
{{Note|For Windows installed in BIOS mode:<br />
<br />
* NTFS partitions may not always be detected when mounted with the default Linux drivers. If GRUB is not detecting it, try installing [[NTFS-3G]] and remounting.<br />
{{Out of date|Since Windows 7, {{ic|bootmgr}} is placed in the [[Wikipedia:System partition and boot partition#Microsoft definition|system partition]] which is not encrypted.}}<br />
* Encrypted Windows partitions may need to be decrypted before mounting. For BitLocker, this can be done with [[cryptsetup]] or {{AUR|dislocker}}. This should be sufficient for {{Pkg|os-prober}} to add the correct entry.<br />
}}<br />
<br />
==== Additional arguments ====<br />
<br />
To pass custom additional arguments to the Linux image, you can set the {{ic|GRUB_CMDLINE_LINUX}} + {{ic|GRUB_CMDLINE_LINUX_DEFAULT}} variables in {{ic|/etc/default/grub}}. The two are appended to each other and passed to kernel when generating regular boot entries. For the ''recovery'' boot entry, only {{ic|GRUB_CMDLINE_LINUX}} is used in the generation.<br />
<br />
It is not necessary to use both, but can be useful. For example, you could use {{ic|1=GRUB_CMDLINE_LINUX_DEFAULT="resume=UUID=''uuid-of-swap-partition'' quiet"}} where {{ic|''uuid-of-swap-partition''}} is the [[UUID]] of your swap partition to enable resume after [[hibernation]]. This would generate a recovery boot entry without the resume and without {{ic|quiet}} suppressing kernel messages during a boot from that menu entry. Though, the other (regular) menu entries would have them as options.<br />
<br />
By default ''grub-mkconfig'' determines the [[UUID]] of the root filesystem for the configuration. To disable this, uncomment {{ic|1=GRUB_DISABLE_LINUX_UUID=true}}.<br />
<br />
For generating the GRUB recovery entry you have to ensure that {{ic|GRUB_DISABLE_RECOVERY}} is not set to {{ic|true}} in {{ic|/etc/default/grub}}.<br />
<br />
See [[Kernel parameters]] for more info.<br />
<br />
==== LVM ====<br />
<br />
{{Merge|#Installation|grub-mkconfig is capable of detecting that it needs the {{ic|lvm}} module, specifying it in {{ic|GRUB_PRELOAD_MODULES}} is not required. Move warning to [[#Installation]] & [[#Installation_2]] or create a [[Help:Style#"Known issues" section|Known issues section]] and document it there.}}<br />
<br />
{{Warning|GRUB does not support thin-provisioned logical volumes.}}<br />
<br />
If you use [[LVM]] for your {{ic|/boot}} or {{ic|/}} root partition, make sure that the {{ic|lvm}} module is preloaded:<br />
<br />
{{hc|/etc/default/grub|2=<br />
GRUB_PRELOAD_MODULES="... lvm"<br />
}}<br />
<br />
==== RAID ====<br />
<br />
{{Merge|#Installation|grub-mkconfig is capable of detecting that it needs the {{ic|mdraid09}} and/or {{ic|mdraid1x}} modules, specifying them in {{ic|GRUB_PRELOAD_MODULES}} is not required. Summarize the double grub-install in a note and move it to [[#Installation]]; move {{ic|set root}} stuff to [[#Custom grub.cfg]].}}<br />
<br />
GRUB provides convenient handling of [[RAID]] volumes. You need to load GRUB modules {{ic|mdraid09}} or {{ic|mdraid1x}} to allow you to address the volume natively:<br />
<br />
{{hc|/etc/default/grub|2=<br />
GRUB_PRELOAD_MODULES="... mdraid09 mdraid1x"<br />
}}<br />
<br />
For example, {{ic|/dev/md0}} becomes:<br />
<br />
set root=(md/0)<br />
<br />
whereas a partitioned RAID volume (e.g. {{ic|/dev/md0p1}}) becomes:<br />
<br />
set root=(md/0,1)<br />
<br />
To install grub when using RAID1 as the {{ic|/boot}} partition (or using {{ic|/boot}} housed on a RAID1 root partition), on BIOS systems, simply run ''grub-install'' on both of the drives, such as:<br />
<br />
# grub-install --target=i386-pc --debug /dev/sda<br />
# grub-install --target=i386-pc --debug /dev/sdb<br />
<br />
Where the RAID 1 array housing {{ic|/boot}} is housed on {{ic|/dev/sda}} and {{ic|/dev/sdb}}.<br />
<br />
{{Note|GRUB supports booting from [[Btrfs]] RAID 0/1/10, but ''not'' RAID 5/6. You may use [[mdadm]] for RAID 5/6, which is supported by GRUB.}}<br />
<br />
==== Encrypted /boot ====<br />
<br />
GRUB also has special support for booting with an encrypted {{ic|/boot}}. This is done by unlocking a [[LUKS]] blockdevice in order to read its configuration and load any [[initramfs]] and [[kernel]] from it. This option tries to solve the issue of having an [[dm-crypt/Specialties#Securing the unencrypted_boot partition|unencrypted boot partition]].<br />
<br />
{{Tip|{{ic|/boot}} is '''not''' required to be kept in a separate partition; it may also stay under the system's root {{ic|/}} directory tree.}}<br />
<br />
{{Warning|GRUB 2.06 has limited support for LUKS2. See the [[#LUKS2]] section below for details.}}<br />
<br />
To enable this feature encrypt the partition with {{ic|/boot}} residing on it using [[LUKS]] as normal. Then add the following option to {{ic|/etc/default/grub}}:<br />
<br />
{{hc|/etc/default/grub|output=<br />
GRUB_ENABLE_CRYPTODISK=y<br />
}}<br />
<br />
This option is used by grub-install to generate the grub {{ic|core.img}}, so make sure to [[#Installation|install grub]] after modifying this option.<br />
<br />
Without further changes you will be prompted twice for a passphrase: the first for GRUB to unlock the {{ic|/boot}} mount point in early boot, the second to unlock the root filesystem itself as implemented by the initramfs. You can use a [[Dm-crypt/Device encryption#With a keyfile embedded in the initramfs|keyfile]] to avoid this.<br />
<br />
{{Warning|<br />
* If you want to [[#Generate the main configuration file|generate the main configuration file]], make sure that {{ic|/boot}} is mounted.<br />
* In order to perform system updates involving the {{ic|/boot}} mount point, ensure that the encrypted {{ic|/boot}} is unlocked and mounted before performing an update. With a separate {{ic|/boot}} partition, this may be accomplished automatically on boot by using [[crypttab]] with a [[Dm-crypt/Device encryption#With a keyfile embedded in the initramfs|keyfile]].<br />
}}<br />
<br />
{{Note|<br />
* If you use a special keymap, a default GRUB installation will not know it. This is relevant for how to enter the passphrase to unlock the LUKS blockdevice. See [[GRUB/Tips and tricks#Manual configuration of core image for early boot]].<br />
* If you experience issues getting the prompt for a password to display (errors regarding cryptouuid, cryptodisk, or "device not found"), try reinstalling GRUB and appending {{ic|1=--modules="part_gpt part_msdos"}} to the end of your {{ic|grub-install}} command.<br />
}}<br />
<br />
{{Tip|1=You can use [https://bbs.archlinux.org/viewtopic.php?id=234607 pacman hooks] to automount your {{ic|/boot}} when upgrades need to access related files.}}<br />
<br />
===== LUKS2 =====<br />
<br />
GRUB 2.06 has limited support for LUKS2. See [https://savannah.gnu.org/bugs/?55093 GRUB bug #55093].<br />
{{Tip|1=You can use {{AUR|grub-improved-luks2-git}} that has been patched for LUKS2 support.}}<br />
<br />
* Argon2id (''cryptsetup'' default) and Argon2i PBKDFs are not supported, only PBKDF2 is.<br />
* {{ic|grub-install}} does not support creating a core image that could be used for unlocking LUKS2. See the comments below or on {{AUR|grub-git}} for a workaround.<br />
<br />
Use {{ic|grub-install}} as described in the [[#Installation]] section. However, the generated EFI binary does not support LUKS2 and needs to be replaced.<br />
<br />
Create {{ic|grub-pre.cfg}}, replace {{ic|/dev/nvme0n1p2}} accordingly. The output is the UUID of the encrypted partition without hyphens.<br />
<br />
{{bc|<br />
# replace ... by the output of: lsblk -no TYPE,UUID ''/dev/nvme0n1p2''<nowiki> | awk '$1=="part"{print $2}' | tr -d -<br />
set crypto_uuid=...<br />
cryptomount -u $crypto_uuid<br />
# Replace crypto0 by lvm/NameOfVolume if you use LVM<br />
set root=crypto0<br />
set prefix=($root)/boot/grub<br />
insmod normal<br />
normal<br />
</nowiki>}}<br />
<br />
Add {{ic|lvm}} if you use [[LVM]]. Replace {{ic|ext2}} by {{ic|btrfs}} if needed:<br />
<br />
$ grub-mkimage -p /boot/grub -O x86_64-efi -c grub-pre.cfg -o /tmp/grubx64.efi luks2 part_gpt cryptodisk gcry_rijndael pbkdf2 gcry_sha256 ext2<br />
<br />
Copy to ESP:<br />
<br />
# install -v /tmp/grubx64.efi ''esp''/EFI/GRUB/grubx64.efi<br />
<br />
If you enter an invalid passphrase during boot and end up at the GRUB rescue shell, try {{ic|cryptomount -a}} to mount all (hopefully only one) encrypted partitions or use {{ic|cryptomount -u $crypto_uuid}} to mount a specific one. Then proceed with {{ic|insmod normal}} and {{ic|normal}} as usual.<br />
<br />
If you enter a correct passphrase, but an {{ic|Invalid passphrase}} error is immediately returned, make sure that the right cryptographic modules are specified. Use {{ic|cryptsetup luksDump ''/dev/nvme0n1p2''}} and check whether the hash function (SHA-256, SHA-512) matches the modules ({{ic|gcry_sha256}}, {{ic|gcry_sha512}}) installed and the PBKDF algorithm is pbkdf2. The hash and PBDKDF algorithms can be changed for existing keys by using {{ic|cryptsetup luksConvertKey --hash ''sha256'' --pbkdf pbkdf2 ''/dev/nvme0n1p2''}}. Under normal circumstances it should take a few seconds before the passphrase is processed.<br />
<br />
=== Custom grub.cfg ===<br />
<br />
{{Expansion|Add instructions on how to write a custom {{ic|/boot/grub/grub.cfg}}. See [[User:Eschwartz/Grub]] for a proposed draft.|section=Manually generate grub.cfg}}<br />
<br />
This section describes the manual creation of GRUB boot entries in {{ic|/boot/grub/grub.cfg}} instead of relying on ''grub-mkconfig''.<br />
<br />
A basic GRUB config file uses the following options:<br />
<br />
* {{ic|(hd''X'',''Y'')}} is the partition ''Y'' on disk ''X'', partition numbers starting at 1, disk numbers starting at 0<br />
* {{ic|1=set default=''N''}} is the default boot entry that is chosen after timeout for user action<br />
* {{ic|1=set timeout=''M''}} is the time ''M'' to wait in seconds for a user selection before default is booted<br />
* {{ic|<nowiki>menuentry "title" {entry options}</nowiki>}} is a boot entry titled {{ic|title}}<br />
* {{ic|1=set root=(hd''X'',''Y'')}} sets the boot partition, where the kernel and GRUB modules are stored (boot need not be a separate partition, and may simply be a directory under the "root" partition ({{ic|/}})<br />
<br />
==== Boot menu entry examples ====<br />
<br />
{{Tip|These boot entries can also be used when using a {{ic|/boot/grub/grub.cfg}} generated by ''grub-mkconfig''. Add them to {{ic|/etc/grub.d/40_custom}} and [[#Generate the main configuration file|re-generate the main configuration file]] or add them to {{ic|/boot/grub/custom.cfg}}.}}<br />
<br />
For tips on managing multiple GRUB entries, for example when using both {{Pkg|linux}} and {{Pkg|linux-lts}} kernels, see [[GRUB/Tips and tricks#Multiple entries]].<br />
<br />
For [[Archiso]] and [https://gitlab.archlinux.org/tpowa/archboot/-/wikis/Archboot-Homepage Archboot] boot menu entries see [[Multiboot USB drive#Boot entries]].<br />
<br />
===== GRUB commands =====<br />
<br />
====== "Shutdown" menu entry ======<br />
<br />
{{bc|<br />
menuentry "System shutdown" {<br />
echo "System shutting down..."<br />
halt<br />
}<br />
}}<br />
<br />
====== "Restart" menu entry ======<br />
<br />
{{bc|<br />
menuentry "System restart" {<br />
echo "System rebooting..."<br />
reboot<br />
}<br />
}}<br />
<br />
====== "UEFI Firmware Settings" menu entry ======<br />
<br />
{{bc|1=<br />
if [ ${grub_platform} == "efi" ]; then<br />
menuentry 'UEFI Firmware Settings' --id 'uefi-firmware' {<br />
fwsetup<br />
}<br />
fi<br />
}}<br />
<br />
===== EFI binaries =====<br />
<br />
When launched in UEFI mode, GRUB can chainload other EFI binaries.<br />
<br />
{{Tip|1=To show these menu entries only when GRUB is launched in UEFI mode, enclose them in the following {{ic|if}} statement:<br />
<br />
{{bc|1=<br />
if [ ${grub_platform} == "efi" ]; then<br />
''place UEFI-only menu entries here''<br />
fi<br />
}}<br />
<br />
}}<br />
<br />
====== UEFI Shell ======<br />
<br />
You can launch [[Unified Extensible Firmware Interface#UEFI Shell|UEFI Shell]] by placing it in the root of the [[EFI system partition]] and adding this menu entry:<br />
<br />
{{bc|1=<br />
menuentry "UEFI Shell" {<br />
insmod fat<br />
insmod chain<br />
search --no-floppy --set=root --file /shellx64.efi<br />
chainloader /shellx64.efi<br />
}<br />
}}<br />
<br />
====== gdisk ======<br />
<br />
Download the [[gdisk#gdisk EFI application|gdisk EFI application]] and copy {{ic|gdisk_x64.efi}} to {{ic|''esp''/EFI/tools/}}.<br />
<br />
{{bc|1=<br />
menuentry "gdisk" {<br />
insmod fat<br />
insmod chain<br />
search --no-floppy --set=root --file /EFI/tools/gdisk_x64.efi<br />
chainloader /EFI/tools/gdisk_x64.efi<br />
}<br />
}}<br />
<br />
====== Chainloading a unified kernel image ======<br />
<br />
If you have a [[unified kernel image]] generated from following [[Secure Boot]] or other means, you can add it to the boot menu. For example:<br />
<br />
{{bc|1=<br />
menuentry "Arch Linux" {<br />
insmod fat<br />
insmod chain<br />
search --no-floppy --set=root --fs-uuid ''FILESYSTEM_UUID''<br />
chainloader /EFI/Linux/Arch-linux.efi<br />
}<br />
}}<br />
<br />
===== Dual-booting =====<br />
<br />
====== GNU/Linux ======<br />
<br />
Assuming that the other distribution is on partition {{ic|sda2}}:<br />
<br />
{{bc|1=<br />
menuentry "Other Linux" {<br />
set root=(hd0,2)<br />
linux /boot/vmlinuz (add other options here as required)<br />
initrd /boot/initrd.img (if the other kernel uses/needs one)<br />
}<br />
}}<br />
<br />
Alternatively let GRUB search for the right partition by UUID or file system label:<br />
<br />
{{bc|1=<br />
menuentry "Other Linux" {<br />
# assuming that UUID is 763A-9CB6<br />
search --no-floppy --set=root --fs-uuid 763A-9CB6<br />
<br />
# search by label OTHER_LINUX (make sure that partition label is unambiguous)<br />
#search --no-floppy --set=root --label OTHER_LINUX<br />
<br />
linux /boot/vmlinuz (add other options here as required, for example: root=UUID=763A-9CB6)<br />
initrd /boot/initrd.img (if the other kernel uses/needs one)<br />
}<br />
}}<br />
<br />
If the other distribution has already a valid {{ic|/boot}} folder with installed GRUB, {{ic|grub.cfg}}, kernel and initramfs, GRUB can be instructed to load these other {{ic|grub.cfg}} files on-the-fly during boot. For example, for {{ic|hd0}} and the fourth GPT partition:<br />
<br />
{{bc|1=<br />
menuentry "configfile hd0,gpt4" {<br />
insmod part_gpt<br />
insmod btrfs<br />
insmod ext2<br />
set root='hd0,gpt4'<br />
configfile /boot/grub/grub.cfg<br />
}<br />
}}<br />
<br />
When choosing this entry, GRUB loads the {{ic|grub.cfg}} file from the other volume and displays that menu. Any environment variable changes made by the commands in file will not be preserved after {{ic|configfile}} returns. Press {{ic|Esc}} to return to the first GRUB menu.<br />
<br />
====== Windows installed in UEFI/GPT mode ======<br />
<br />
This mode determines where the Windows bootloader resides and chain-loads it after GRUB when the menu entry is selected. The main task here is finding the EFI system partition and running the bootloader from it.<br />
<br />
{{Note|This menuentry will work only in UEFI boot mode and only if the Windows bitness matches the UEFI bitness. It will not work in BIOS installed GRUB. See [[Dual boot with Windows#Windows UEFI vs BIOS limitations]] and [[Dual boot with Windows#Bootloader UEFI vs BIOS limitations]] for more information.}}<br />
<br />
{{bc|1=<br />
if [ "${grub_platform}" == "efi" ]; then<br />
menuentry "Microsoft Windows Vista/7/8/8.1 UEFI/GPT" {<br />
insmod part_gpt<br />
insmod fat<br />
insmod chain<br />
search --no-floppy --fs-uuid --set=root $hints_string $fs_uuid<br />
chainloader /EFI/Microsoft/Boot/bootmgfw.efi<br />
}<br />
fi<br />
}}<br />
<br />
where {{ic|$hints_string}} and {{ic|$fs_uuid}} are obtained with the following two commands.<br />
<br />
The {{ic|$fs_uuid}} command determines the UUID of the EFI system partition:<br />
<br />
{{hc|1=# grub-probe --target=fs_uuid ''esp''/EFI/Microsoft/Boot/bootmgfw.efi|2=<br />
1ce5-7f28<br />
}}<br />
<br />
Alternatively one can run {{ic|blkid}} (as root) and read the UUID of the EFI system partition from there.<br />
<br />
The {{ic|$hints_string}} command will determine the location of the EFI system partition, in this case harddrive 0:<br />
<br />
{{hc|1=# grub-probe --target=hints_string ''esp''/EFI/Microsoft/Boot/bootmgfw.efi|2=<br />
--hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1<br />
}}<br />
<br />
These two commands assume the ESP Windows uses is mounted at {{ic|''esp''}}. There might be case differences in the path to Windows's EFI file, what with being Windows, and all.<br />
<br />
====== Windows installed in BIOS/MBR mode ======<br />
<br />
{{Note|GRUB supports booting {{ic|bootmgr}} directly and [https://www.gnu.org/software/grub/manual/grub.html#Chain_002dloading chainloading] of partition boot sector is no longer required to boot Windows in a BIOS/MBR setup.}}<br />
<br />
{{Warning|It is the '''system partition''' that has {{ic|/bootmgr}}, not your "real" Windows partition (usually {{ic|C:}}). The system partition's [[Persistent block device naming#by-label|filesystem label]] is {{ic|System Reserved}} or {{ic|SYSTEM}} and the partition is only about 100 to 549 MiB in size. See [[Wikipedia:System partition and boot partition]] for more information.}}<br />
<br />
Throughout this section, it is assumed your Windows partition is {{ic|/dev/sda1}}. A different partition will change every instance of {{ic|hd0,msdos1}}.<br />
<br />
{{Note|These menu entries will work only in BIOS boot mode. It will not work in UEFI installed GRUB. See [[Dual boot with Windows#Windows UEFI vs BIOS limitations]] and [[Dual boot with Windows#Bootloader UEFI vs BIOS limitations]] .}}<br />
<br />
In both examples {{ic|''XXXXXXXXXXXXXXXX''}} is the filesystem UUID which can be found with command {{ic|lsblk --fs}}.<br />
<br />
For Windows Vista/7/8/8.1/10:<br />
<br />
{{bc|1=<br />
if [ "${grub_platform}" == "pc" ]; then<br />
menuentry "Microsoft Windows Vista/7/8/8.1/10 BIOS/MBR" {<br />
insmod part_msdos<br />
insmod ntfs<br />
insmod ntldr<br />
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 ''XXXXXXXXXXXXXXXX''<br />
ntldr /bootmgr<br />
}<br />
fi<br />
}}<br />
<br />
For Windows XP:<br />
<br />
{{bc|1=<br />
if [ "${grub_platform}" == "pc" ]; then<br />
menuentry "Microsoft Windows XP" {<br />
insmod part_msdos<br />
insmod ntfs<br />
insmod ntldr<br />
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 ''XXXXXXXXXXXXXXXX''<br />
ntldr /ntldr<br />
}<br />
fi<br />
}}<br />
<br />
{{Note|In some cases, GRUB may be installed without a clean Windows 8, in which case you cannot boot Windows without having an error with {{ic|\boot\bcd}} (error code {{ic|0xc000000f}}). You can fix it by going to Windows Recovery Console ({{ic|cmd.exe}} from install disk) and executing:<br />
<br />
X:\> bootrec.exe /fixboot<br />
X:\> bootrec.exe /RebuildBcd<br />
<br />
Do '''not''' use {{ic|bootrec.exe /Fixmbr}} because it will wipe GRUB out.<br />
Or you can use Boot Repair function in the Troubleshooting menu - it will not wipe out GRUB but will fix most errors.<br />
Also you would better keep plugged in both the target hard drive and your bootable device '''ONLY'''. Windows usually fails to repair boot information if any other devices are connected.<br />
}}<br />
<br />
===== Using labels =====<br />
<br />
It is possible to use file system labels, human-readable strings attached to file systems, by using the {{ic|--label}} option to {{ic|search}}. First of all, [[Persistent block device naming#by-label|make sure your file system has a label]].<br />
<br />
Then, add an entry using labels. An example of this:<br />
<br />
menuentry "Arch Linux, session texte" {<br />
search --label --set=root archroot<br />
linux /boot/vmlinuz-linux root=/dev/disk/by-label/archroot ro<br />
initrd /boot/initramfs-linux.img<br />
}<br />
<br />
===== Boot an Arch Linux ISO =====<br />
<br />
Booting an Arch Linux ISO is useful for system rescue in cases where the main OS cannot be booted. Download the Arch Linux ISO file you want to use and place it in {{ic|/boot/iso}} then use the following menuentry in your grub configuration, replacing {{ic|XXXXXXXXXXXX}} with your boot partitions UUID.<br />
<br />
{{bc|1=<br />
menuentry "Arch Linux 2022.08 iso" --class iso {<br />
set imgdevpath="/dev/disk/by-uuid/XXXXXXXXXXXX"<br />
set isofile="/boot/iso/archlinux-2022.08-x86_64.iso"<br />
set label="ARCH_202208"<br />
loopback loop \$isofile<br />
linux (loop)/arch/boot/x86_64/vmlinuz archisolabel=\$label img_dev=\$imgdevpath img_loop=\$isofile earlymodules=loop<br />
initrd (loop)/arch/boot/x86_64/archiso.img<br />
}<br />
}}<br />
<br />
== Using the command shell ==<br />
<br />
Since the MBR is too small to store all GRUB modules, only the menu and a few basic commands reside there. The majority of GRUB functionality remains in modules in {{ic|/boot/grub/}}, which are inserted as needed. In error conditions (e.g. if the partition layout changes) GRUB may fail to boot. When this happens, a command shell may appear.<br />
<br />
GRUB offers multiple shells/prompts. If there is a problem reading the menu but the bootloader is able to find the disk, you will likely be dropped to the "normal" shell:<br />
<br />
grub><br />
<br />
If there is a more serious problem (e.g. GRUB cannot find required files), you may instead be dropped to the "rescue" shell:<br />
<br />
grub rescue><br />
<br />
The rescue shell is a restricted subset of the normal shell, offering much less functionality. If dumped to the rescue shell, first try inserting the "normal" module, then starting the "normal" shell:<br />
<br />
grub rescue> set prefix=(hdX,Y)/boot/grub<br />
grub rescue> insmod (hdX,Y)/boot/grub/i386-pc/normal.mod<br />
rescue:grub> normal<br />
<br />
=== Pager support ===<br />
<br />
GRUB supports pager for reading commands that provide long output (like the {{ic|help}} command). This works only in normal shell mode and not in rescue mode. To enable pager, in GRUB command shell type:<br />
<br />
sh:grub> set pager=1<br />
<br />
=== Using the command shell environment to boot operating systems ===<br />
<br />
grub><br />
<br />
The GRUB's command shell environment can be used to boot operating systems.<br />
A common scenario may be to boot Windows / Linux stored on a drive/partition via '''chainloading'''.<br />
<br />
''Chainloading'' means to load another boot-loader from the current one, ie, chain-loading.<br />
<br />
The other bootloader may be embedded at the start of a partitioned disk (MBR), at the start of a partition or a partitionless disk (VBR), or as an EFI binary in the case of UEFI.<br />
<br />
==== Chainloading a partition's VBR ====<br />
<br />
set root=(hdX,Y)<br />
chainloader +1<br />
boot<br />
<br />
X=0,1,2...<br />
Y=1,2,3...<br />
<br />
For example to chainload Windows stored in the first partition of the first hard disk,<br />
<br />
set root=(hd0,1)<br />
chainloader +1<br />
boot<br />
<br />
Similarly GRUB installed to a partition can be chainloaded.<br />
<br />
==== Chainloading a disk's MBR or a partitionless disk's VBR ====<br />
<br />
set root=hdX<br />
chainloader +1<br />
boot<br />
<br />
==== Chainloading Windows/Linux installed in UEFI mode ====<br />
<br />
insmod fat<br />
set root=(hd0,gpt4)<br />
chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi<br />
boot<br />
<br />
{{ic|insmod fat}} is used for loading the FAT file system module for accessing the Windows bootloader on the EFI system partition.<br />
{{ic|(hd0,gpt4)}} or {{ic|/dev/sda4}} is the EFI system partition in this example.<br />
The entry in the {{ic|chainloader}} line specifies the path of the ''.efi'' file to be chain-loaded.<br />
<br />
==== Normal loading ====<br />
<br />
See the examples in [[#Using the rescue console]]<br />
<br />
=== Using the rescue console ===<br />
<br />
See [[#Using the command shell]] first. If unable to activate the standard shell, one possible solution is to boot using a live CD or some other rescue disk to correct configuration errors and reinstall GRUB. However, such a boot disk is not always available (nor necessary); the rescue console is surprisingly robust.<br />
<br />
The available commands in GRUB rescue include {{ic|insmod}}, {{ic|ls}}, {{ic|set}}, and {{ic|unset}}. This example uses {{ic|set}} and {{ic|insmod}}. {{ic|set}} modifies variables and {{ic|insmod}} inserts new modules to add functionality.<br />
<br />
Before starting, the user must know the location of their {{ic|/boot}} partition (be it a separate partition, or a subdirectory under their root):<br />
<br />
grub rescue> set prefix=(hd''X'',''Y'')/boot/grub<br />
<br />
where {{ic|''X''}} is the physical drive number and {{ic|''Y''}} is the partition number.<br />
<br />
{{Note|With a separate boot partition, omit {{ic|/boot}} from the path (i.e. type {{ic|1=set prefix=(hd''X'',''Y'')/grub}}).}}<br />
<br />
To expand console capabilities, insert the {{ic|linux}} module:<br />
<br />
grub rescue> insmod i386-pc/linux.mod<br />
<br />
or simply<br />
<br />
grub rescue> insmod linux<br />
<br />
This introduces the {{ic|linux}} and {{ic|initrd}} commands, which should be familiar.<br />
<br />
An example, booting Arch Linux:<br />
<br />
set root=(hd0,5)<br />
linux /boot/vmlinuz-linux root=/dev/sda5<br />
initrd /boot/initramfs-linux.img<br />
boot<br />
<br />
With a separate boot partition (e.g. when using UEFI), again change the lines accordingly:<br />
<br />
{{Note|Since boot is a separate partition and not part of your root partition, you must address the boot partition manually, in the same way as for the prefix variable.}}<br />
<br />
set root=(hd0,5)<br />
linux (hd''X'',''Y'')/vmlinuz-linux root=/dev/sda6<br />
initrd (hd''X'',''Y'')/initramfs-linux.img<br />
boot<br />
<br />
{{Note|If you experienced {{ic|error: premature end of file /YOUR_KERNEL_NAME}} during execution of {{ic|linux}} command, you can try {{ic|linux16}} instead.}}<br />
<br />
After successfully booting the Arch Linux installation, users can correct {{ic|grub.cfg}} as needed and then reinstall GRUB.<br />
<br />
To reinstall GRUB and fix the problem completely, changing {{ic|/dev/sda}} if needed. See [[#Installation]] for details.<br />
<br />
== GRUB removal ==<br />
<br />
{{Expansion|Migrating from BIOS booting to UEFI is not the only case where GRUB could be removed. Section needs to either cover how to remove GRUB installed for UEFI booting or it should be removed altogether as too trivial.}}<br />
In general, in order to remove ''grub'', one has to do the installation steps in reverse order. Perhaps cleaning any left over at the end. However, before doing anything, one has to decide if, and how, the machine will boot after the removal. Assuming one removes ''grub'' because they would like to use another boot loader, a safe, though a bit difficult, method is to make sure the other boot loader is working before removing ''grub''.<br />
<br />
In any case, even when removing ''grub'' before installing another boot loader, for the UEFI case, run<br />
$ efibootmgr<br />
And verify the other boot loader is listed in the {{ic|BootOrder}} line. If ''grub'' was not removed, the other boot loader should be listed before ''grub''. If ''grub'' is already removed, ''grub'' should not be mentioned in that line. But note this is only a necessary, but not sufficient, condition for the machine to boot with the other boot loader. Neither it is a sufficient condition for the full removal of ''grub''.<br />
<br />
For both UEFI and non UEFI machines, {{ic|grub-install}} was manually run as part of the installation of ''grub''. One of its jobs for the UEFI case was to run the equivalent of {{ic|efibootmgr --create}}. As part of ''grub'' removal, one has to remove the products of {{ic|grub-install}}. The opposite of {{ic|efibootmgr --create}} is {{ic|efibootmgr --delete-bootnum}}, or an equivalent program. One way to obtain the number of the boot entry for the {{ic|efibootmgr --delete-bootnum}} command is from the output of {{ic|efibootmgr}} (with no arguments).<br />
<br />
{{ic|grub-install}} creates the {{ic|/boot/grub}} directory that needs to be removed manually. Though some users will want to keep it, should they want to install ''grub'' again.<br />
<br />
After migrating to GPT/UEFI one may want to remove the [[Partitioning#Master Boot Record (bootstrap code)|MBR boot code]] [[dd#Remove bootloader|using dd]]:<br />
<br />
# dd if=/dev/zero of=/dev/sd''X'' bs=440 count=1<br />
<br />
== Troubleshooting ==<br />
<br />
{{Merge|GRUB/Troubleshooting|This section is long enough to be split into a dedicated subpage.}}<br />
<br />
=== Unsupported file systems ===<br />
<br />
In case that GRUB does not support the root file system, an alternative {{ic|/boot}} partition with a supported file system must be created. In some cases, the development version of GRUB {{aur|grub-git}} may have native support for the file system.<br />
<br />
If GRUB is used with an unsupported file system it is not able to extract the [[UUID]] of your drive so it uses classic non-persistent {{ic|/dev/''sdXx''}} names instead. In this case you might have to manually edit {{ic|/boot/grub/grub.cfg}} and replace {{ic|1=root=/dev/''sdXx''}} with {{ic|1=root=UUID=''XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX''}}. You can use the {{ic|blkid}} command to get the UUID of your device, see [[Persistent block device naming]].<br />
<br />
While GRUB supports [[F2FS]] since version 2.0.4, it cannot correctly read its boot files from an F2FS partition that was created with the {{ic|extra_attr}} flag enabled.<br />
<br />
=== Enable debug messages ===<br />
<br />
{{Note|This change is overwritten when [[#Generate the main configuration file]].}}<br />
<br />
Add:<br />
<br />
set pager=1<br />
set debug=all<br />
<br />
to {{ic|grub.cfg}}.<br />
<br />
=== msdos-style error message ===<br />
<br />
grub-setup: warn: This msdos-style partition label has no post-MBR gap; embedding will not be possible!<br />
grub-setup: warn: Embedding is not possible. GRUB can only be installed in this setup by using blocklists.<br />
However, blocklists are UNRELIABLE and its use is discouraged.<br />
grub-setup: error: If you really want blocklists, use --force.<br />
<br />
This error may occur when you try installing GRUB in a VMware container. Read more about it [https://bbs.archlinux.org/viewtopic.php?pid=581760#p581760 here]. It happens when the first partition starts just after the MBR (block 63), without the usual space of 1 MiB (2048 blocks) before the first partition. Read [[#Master Boot Record (MBR) specific instructions]]<br />
<br />
=== UEFI ===<br />
<br />
==== Common installation errors ====<br />
<br />
* If you have a problem when running ''grub-install'' with ''sysfs'' or ''procfs'' and it says you must run {{ic|modprobe efivarfs}}, try [[Unified Extensible Firmware Interface#Mount efivarfs]].<br />
* Without {{ic|--target}} or {{ic|--directory}} option, grub-install cannot determine for which firmware to install. In such cases {{ic|grub-install}} will print {{ic|source_dir does not exist. Please specify --target or --directory}}.<br />
* If after running grub-install you are told your partition does not look like an EFI partition then the partition is most likely not {{ic|Fat32}}.<br />
<br />
==== Create a GRUB entry in the firmware boot manager ====<br />
<br />
{{Expansion|Provide an efibootmgr command.}}<br />
<br />
{{ic|grub-install}} automatically tries to create a menu entry in the boot manager. If it does not, then see [[UEFI#efibootmgr]] for instructions to use {{ic|efibootmgr}} to create a menu entry. However, the problem is likely to be that you have not booted your CD/USB in UEFI mode, as in [[UEFI#Create UEFI bootable USB from ISO]].<br />
<br />
==== Drop to rescue shell ====<br />
<br />
If GRUB loads but drops into the rescue shell with no errors, it can be due to one of these two reasons:<br />
<br />
* It may be because of a missing or misplaced {{ic|grub.cfg}}. This will happen if GRUB UEFI was installed with {{ic|--boot-directory}} and {{ic|grub.cfg}} is missing,<br />
* It also happens if the boot partition, which is hardcoded into the {{ic|grubx64.efi}} file, has changed.<br />
<br />
==== GRUB UEFI not loaded ====<br />
<br />
An example of a working UEFI:<br />
<br />
{{hc|# efibootmgr -v|<br />
BootCurrent: 0000<br />
Timeout: 3 seconds<br />
BootOrder: 0000,0001,0002<br />
Boot0000* GRUB HD(1,800,32000,23532fbb-1bfa-4e46-851a-b494bfe9478c)File(\EFI\GRUB\grubx64.efi)<br />
Boot0001* Shell HD(1,800,32000,23532fbb-1bfa-4e46-851a-b494bfe9478c)File(\shellx64.efi)<br />
Boot0002* Festplatte BIOS(2,0,00)P0: SAMSUNG HD204UI<br />
}}<br />
<br />
If the screen only goes black for a second and the next boot option is tried afterwards, according to [https://bbs.archlinux.org/viewtopic.php?pid=981560#p981560 this post], moving GRUB to the partition root can help. The boot option has to be deleted and recreated afterwards. The entry for GRUB should look like this then:<br />
<br />
Boot0000* GRUB HD(1,800,32000,23532fbb-1bfa-4e46-851a-b494bfe9478c)File(\grubx64.efi)<br />
<br />
==== Default/fallback boot path ====<br />
<br />
Some UEFI firmwares require a bootable file at a known location before they will show UEFI NVRAM boot entries. If this is the case, {{ic|grub-install}} will claim {{ic|efibootmgr}} has added an entry to boot GRUB, however the entry will not show up in the VisualBIOS boot order selector. The solution is to install GRUB at the default/fallback boot path:<br />
<br />
# grub-install --target=x86_64-efi --efi-directory=''esp'' '''--removable'''<br />
<br />
Alternatively you can move an already installed GRUB EFI executable to the default/fallback path:<br />
<br />
# mv ''esp''/EFI/grub ''esp''/EFI/BOOT<br />
# mv ''esp''/EFI/BOOT/grubx64.efi ''esp''/EFI/BOOT/BOOTX64.EFI<br />
<br />
=== Invalid signature ===<br />
<br />
If trying to boot Windows results in an "invalid signature" error, e.g. after reconfiguring partitions or adding additional hard drives, (re)move GRUB's device configuration and let it reconfigure:<br />
<br />
# mv /boot/grub/device.map /boot/grub/device.map-old<br />
# grub-mkconfig -o /boot/grub/grub.cfg<br />
<br />
{{ic|grub-mkconfig}} should now mention all found boot options, including Windows. If it works, remove {{ic|/boot/grub/device.map-old}}.<br />
<br />
=== Boot freezes ===<br />
<br />
If booting gets stuck without any error message after GRUB loading the kernel and the initial ramdisk, try removing the {{ic|add_efi_memmap}} kernel parameter.<br />
<br />
=== Arch not found from other OS ===<br />
<br />
Some have reported that other distributions may have trouble finding Arch Linux automatically with {{ic|os-prober}}. If this problem arises, it has been reported that detection can be improved with the presence of {{ic|/etc/lsb-release}}. This file and updating tool is available with the package {{Pkg|lsb-release}}.<br />
<br />
=== Warning when installing in chroot ===<br />
<br />
When installing GRUB on a LVM system in a chroot environment (e.g. during system installation), you may receive warnings like<br />
<br />
/run/lvm/lvmetad.socket: connect failed: No such file or directory<br />
<br />
or<br />
<br />
WARNING: failed to connect to lvmetad: No such file or directory. Falling back to internal scanning.<br />
<br />
This is because {{ic|/run}} is not available inside the chroot. These warnings will not prevent the system from booting, provided that everything has been done correctly, so you may continue with the installation.<br />
<br />
=== GRUB loads slowly ===<br />
<br />
GRUB can take a long time to load when disk space is low. Check if you have sufficient free disk space on your {{ic|/boot}} or {{ic|/}} partition when you are having problems.<br />
<br />
=== error: unknown filesystem ===<br />
<br />
GRUB may output {{ic|error: unknown filesystem}} and refuse to boot for a few reasons. If you are certain that all [[UUID]]s are correct and all filesystems are valid and supported, it may be because your [[#GUID Partition Table (GPT) specific instructions|BIOS Boot Partition]] is located outside the first 2 TiB of the drive [https://bbs.archlinux.org/viewtopic.php?id=195948]. Use a partitioning tool of your choice to ensure this partition is located fully within the first 2 TiB, then reinstall and reconfigure GRUB.<br />
<br />
This error might also be caused by an [[ext4]] filesystem having unsupported features set:<br />
* {{ic|large_dir}} - unsupported.<br />
* {{ic|metadata_csum_seed}} - will be supported in GRUB 2.11 ([https://git.savannah.gnu.org/cgit/grub.git/commit/?id=7fd5feff97c4b1f446f8fcf6d37aca0c64e7c763 commit]).<br />
<br />
{{Warning|Make sure to check GRUB support for new [[file system]] features before you enable them on your {{ic|/boot}} file system.}}<br />
<br />
=== grub-reboot not resetting ===<br />
<br />
GRUB seems to be unable to write to root BTRFS partitions [https://bbs.archlinux.org/viewtopic.php?id=166131]. If you use grub-reboot to boot into another entry it will therefore be unable to update its on-disk environment. Either run grub-reboot from the other entry (for example when switching between various distributions) or consider a different file system. You can reset a "sticky" entry by executing {{ic|grub-editenv create}} and setting {{ic|1=GRUB_DEFAULT=0}} in your {{ic|/etc/default/grub}} (do not forget {{ic|grub-mkconfig -o /boot/grub/grub.cfg}}).<br />
<br />
=== Old BTRFS prevents installation ===<br />
<br />
If a drive is formatted with BTRFS without creating a partition table (eg. /dev/sdx), then later has partition table written to, there are parts of the BTRFS format that persist. Most utilities and OS's do not see this, but GRUB will refuse to install, even with --force<br />
<br />
# grub-install: warning: Attempting to install GRUB to a disk with multiple partition labels. This is not supported yet..<br />
# grub-install: error: filesystem `btrfs' does not support blocklists.<br />
<br />
You can zero the drive, but the easy solution that leaves your data alone is to erase the BTRFS superblock with {{ic|wipefs -o 0x10040 /dev/sdx}}<br />
<br />
=== Windows 8/10 not found ===<br />
<br />
A setting in Windows 8/10 called "Hiberboot", "Hybrid Boot" or "Fast Boot" can prevent the Windows partition from being mounted, so {{ic|grub-mkconfig}} will not find a Windows install. Disabling Hiberboot in Windows will allow it to be added to the GRUB menu.<br />
<br />
=== VirtualBox EFI mode ===<br />
<br />
For VirtualBox < 6.1, install GRUB to the [[#Default/fallback boot path|default/fallback boot path]].<br />
<br />
See also [[VirtualBox#Installation in EFI mode on VirtualBox < 6.1]].<br />
<br />
=== Device /dev/xxx not initialized in udev database even after waiting 10000000 microseconds ===<br />
<br />
If grub-mkconfig hangs and gives error: {{ic|WARNING: Device /dev/''xxx'' not initialized in udev database even after waiting 10000000 microseconds}}.<br />
<br />
You may need to provide {{ic|/run/lvm/}} access to the chroot environment using:<br />
<br />
# mkdir /mnt/hostlvm<br />
# mount --bind /run/lvm /mnt/hostlvm<br />
# arch-chroot /mnt<br />
# ln -s /hostlvm /run/lvm<br />
<br />
See {{Bug|61040}} and [https://bbs.archlinux.org/viewtopic.php?pid=1820949#p1820949 workaround].<br />
<br />
=== GRUB rescue and encrypted /boot ===<br />
<br />
When using an [[#Encrypted /boot|encrypted /boot]], and you fail to input a correct password, you will be dropped in grub-rescue prompt.<br />
<br />
This grub-rescue prompt has limited capabilities. Use the following commands to complete the boot:<br />
{{bc|<br />
grub rescue> cryptomount <partition><br />
grub rescue> insmod normal<br />
grub rescue> normal<br />
}}<br />
<br />
See [https://blog.stigok.com/2017/12/29/decrypt-and-mount-luks-disk-from-grub-rescue-mode.html this blog post] for a better description.<br />
<br />
=== GRUB is installed but the menu is not shown at boot ===<br />
<br />
Check {{ic|/etc/default/grub}} if {{ic|GRUB_TIMEOUT}} is set to {{ic|0}}, in which case set it to a positive number: it sets the number of seconds before the default GRUB entry is loaded. Also check if {{ic|GRUB_TIMEOUT_STYLE}} is set to {{ic|hidden}} and set it to {{ic|menu}}, so that the menu will be shown by default. Then [[#Generate the main configuration file|regenerate the main configuration file]] and reboot to check if it worked.<br />
<br />
== See also ==<br />
<br />
* [[Wikipedia:GNU GRUB]]<br />
* [https://www.gnu.org/software/grub/manual/grub.html Official GRUB Manual]<br />
* [https://help.ubuntu.com/community/Grub2 Ubuntu wiki page for GRUB]<br />
* [https://help.ubuntu.com/community/UEFIBooting GRUB wiki page describing steps to compile for UEFI systems]<br />
* [[Wikipedia:BIOS Boot partition]]<br />
* [https://web.archive.org/web/20160424042444/http://members.iinet.net/~herman546/p20/GRUB2%20Configuration%20File%20Commands.html#Editing_etcgrub.d05_debian_theme How to configure GRUB]<br />
* [https://archived.forum.manjaro.org/t/detecting-efi-files-and-booting-them-from-grub/38083 Detecting efi files and booting them from grub]</div>Meskarunehttps://wiki.archlinux.org/index.php?title=User:Meskarune/fontconfig&diff=739955User:Meskarune/fontconfig2022-08-03T15:25:08Z<p>Meskarune: added links to install fav fonts</p>
<hr />
<div>{{Related articles start}}<br />
{{Related|Font configuration}}<br />
{{Related|Metric-compatible fonts}}<br />
{{Related articles end}}<br />
<br />
Setting up fonts so they look nicer.<br />
<br />
== Packages ==<br />
Packages to install for nice fonts and configuration.<br />
<br />
=== Configuration and rendering ===<br />
* {{pkg|fontconfig}}<br />
* {{pkg|freetype2}}<br />
* {{pkg|cairo}}<br />
<br />
=== Fonts ===<br />
<br />
=== Arch Packages ===<br />
* {{pkg|noto-fonts}} - base fonts (serif, sans-serif, monospace with bold and italic)<br />
* {{pkg|noto-fonts-cjk}} - support for chinese/japanese/korean<br />
* {{pkg|noto-fonts-emoji}} - support for emoji<br />
* {{pkg|noto-fonts-extra}} - additional variants (condensed, semi-bold, extra-light)<br />
<br />
* {{pkg|ttf-liberation}} - Font family with metric compatibility with Arial/Helvetica (sans-serif), Times New Roman (serif), and Courier New (monospace).<br />
<br />
=== AUR Packages ===<br />
* {{aur|ttf-tahoma}} - UI text for programs run under [[Wine]]<br />
* {{aur|lohit-fonts}} - support for indic characters<br />
* {{aur|ttf-twemoji-color}} - color emoji font<br />
<br />
==== Infinality Like Fonts/settings ====<br />
* {{aur|fonts-meta-base}}<br />
* {{aur|fonts-meta-extended-lt}}<br />
<br />
=== Favorite Fonts ===<br />
* Inter UI https://rsms.me/inter/ font designed for computer UIs {{pkg|inter-font}}<br />
* Bitter https://www.solmatas.com/bitter/ beautiful slab serif typeface designed for long form reading on computer screens. Supports latin, cyrillic and devanagari character sets and ligatures. {{aur|otf-bitter}}<br />
<br />
== Directory locations ==<br />
* Fonts are installed in {{ic|/usr/share/fonts}}<br />
* User installed fonts are in {{ic|$HOME/.local/share/fonts}}<br />
* Global font configurations in {{ic|/etc/fonts/}}<br />
* System/package font configurations in {{ic|/usr/share/fontconfig}}<br />
* User font configuration in {{ic|$HOME/.config/fontconfig}}<br />
<br />
== User Configuration ==<br />
{{hc|head=~/.config/fontconfig/fonts.conf|output=<br />
<?xml version="1.0"?><br />
<!DOCTYPE fontconfig SYSTEM "fonts.dtd"><br />
<fontconfig><br />
<include ignore_missing="yes">conf.d</include><br />
<match target="font"><br />
<edit name="antialias" mode="assign"><br />
<bool>true</bool><br />
</edit><br />
</match><br />
<match target="font"><br />
<edit name="rgba" mode="assign"><br />
<const>rgb</const><br />
</edit><br />
</match><br />
<match target="font"><br />
<edit name="lcdfilter" mode="assign"><br />
<const>lcddefault</const><br />
</edit><br />
</match><br />
<match target="font"><br />
<edit name="hinting" mode="assign"><br />
<bool>true</bool><br />
</edit><br />
</match><br />
<match target="font"><br />
<edit name="hintstyle" mode="assign"><br />
<const>hintfull</const><br />
</edit><br />
</match><br />
<match target="font"><br />
<edit name="autohint" mode="assign"><br />
<bool>false</bool><br />
</edit><br />
</match><br />
<match target="pattern"><br />
<edit name="dpi" mode="assign"><br />
<double>96</double><br />
</edit><br />
</match><br />
</fontconfig><br />
}}</div>Meskarunehttps://wiki.archlinux.org/index.php?title=User:Meskarune/fontconfig&diff=739948User:Meskarune/fontconfig2022-08-03T15:06:23Z<p>Meskarune: /* AUR Packages */ added color emoji font</p>
<hr />
<div>{{Related articles start}}<br />
{{Related|Font configuration}}<br />
{{Related|Metric-compatible fonts}}<br />
{{Related articles end}}<br />
<br />
Setting up fonts so they look nicer.<br />
<br />
== Packages ==<br />
Packages to install for nice fonts and configuration.<br />
<br />
=== Configuration and rendering ===<br />
* {{pkg|fontconfig}}<br />
* {{pkg|freetype2}}<br />
* {{pkg|cairo}}<br />
<br />
=== Fonts ===<br />
<br />
=== Arch Packages ===<br />
* {{pkg|noto-fonts}} - base fonts (serif, sans-serif, monospace with bold and italic)<br />
* {{pkg|noto-fonts-cjk}} - support for chinese/japanese/korean<br />
* {{pkg|noto-fonts-emoji}} - support for emoji<br />
* {{pkg|noto-fonts-extra}} - additional variants (condensed, semi-bold, extra-light)<br />
<br />
* {{pkg|ttf-liberation}} - Font family with metric compatibility with Arial/Helvetica (sans-serif), Times New Roman (serif), and Courier New (monospace).<br />
<br />
=== AUR Packages ===<br />
* {{aur|ttf-tahoma}} - UI text for programs run under [[Wine]]<br />
* {{aur|lohit-fonts}} - support for indic characters<br />
* {{aur|ttf-twemoji-color}} - color emoji font<br />
<br />
==== Infinality Like Fonts/settings ====<br />
* {{aur|fonts-meta-base}}<br />
* {{aur|fonts-meta-extended-lt}}<br />
<br />
=== Favorite Fonts ===<br />
* Inter UI https://rsms.me/inter/ font designed for computer UIs<br />
* Bitter https://www.solmatas.com/bitter/ beautiful slab serif typeface designed for long form reading on computer screens. Supports latin, cyrillic and devanagari character sets and ligatures.<br />
<br />
== Directory locations ==<br />
* Fonts are installed in {{ic|/usr/share/fonts}}<br />
* User installed fonts are in {{ic|$HOME/.local/share/fonts}}<br />
* Global font configurations in {{ic|/etc/fonts/}}<br />
* System/package font configurations in {{ic|/usr/share/fontconfig}}<br />
* User font configuration in {{ic|$HOME/.config/fontconfig}}<br />
<br />
== User Configuration ==<br />
{{hc|head=~/.config/fontconfig/fonts.conf|output=<br />
<?xml version="1.0"?><br />
<!DOCTYPE fontconfig SYSTEM "fonts.dtd"><br />
<fontconfig><br />
<include ignore_missing="yes">conf.d</include><br />
<match target="font"><br />
<edit name="antialias" mode="assign"><br />
<bool>true</bool><br />
</edit><br />
</match><br />
<match target="font"><br />
<edit name="rgba" mode="assign"><br />
<const>rgb</const><br />
</edit><br />
</match><br />
<match target="font"><br />
<edit name="lcdfilter" mode="assign"><br />
<const>lcddefault</const><br />
</edit><br />
</match><br />
<match target="font"><br />
<edit name="hinting" mode="assign"><br />
<bool>true</bool><br />
</edit><br />
</match><br />
<match target="font"><br />
<edit name="hintstyle" mode="assign"><br />
<const>hintfull</const><br />
</edit><br />
</match><br />
<match target="font"><br />
<edit name="autohint" mode="assign"><br />
<bool>false</bool><br />
</edit><br />
</match><br />
<match target="pattern"><br />
<edit name="dpi" mode="assign"><br />
<double>96</double><br />
</edit><br />
</match><br />
</fontconfig><br />
}}</div>Meskarunehttps://wiki.archlinux.org/index.php?title=User:Meskarune/fontconfig&diff=739945User:Meskarune/fontconfig2022-08-03T14:20:50Z<p>Meskarune: adding more aur packages related to fonts and infinality section</p>
<hr />
<div>{{Related articles start}}<br />
{{Related|Font configuration}}<br />
{{Related|Metric-compatible fonts}}<br />
{{Related articles end}}<br />
<br />
Setting up fonts so they look nicer.<br />
<br />
== Packages ==<br />
Packages to install for nice fonts and configuration.<br />
<br />
=== Configuration and rendering ===<br />
* {{pkg|fontconfig}}<br />
* {{pkg|freetype2}}<br />
* {{pkg|cairo}}<br />
<br />
=== Fonts ===<br />
<br />
=== Arch Packages ===<br />
* {{pkg|noto-fonts}} - base fonts (serif, sans-serif, monospace with bold and italic)<br />
* {{pkg|noto-fonts-cjk}} - support for chinese/japanese/korean<br />
* {{pkg|noto-fonts-emoji}} - support for emoji<br />
* {{pkg|noto-fonts-extra}} - additional variants (condensed, semi-bold, extra-light)<br />
<br />
* {{pkg|ttf-liberation}} - Font family with metric compatibility with Arial/Helvetica (sans-serif), Times New Roman (serif), and Courier New (monospace).<br />
<br />
=== AUR Packages ===<br />
{{aur|ttf-tahoma}} - UI text for programs run under [[Wine]]<br />
<br />
==== Infinality Like Fonts/settings ====<br />
* {{aur|fonts-meta-base}}<br />
* {{aur|fonts-meta-extended-lt}}<br />
<br />
=== Favorite Fonts ===<br />
* Inter UI https://rsms.me/inter/ font designed for computer UIs<br />
* Bitter https://www.solmatas.com/bitter/ beautiful slab serif typeface designed for long form reading on computer screens. Supports latin, cyrillic and devanagari character sets and ligatures.<br />
<br />
== Directory locations ==<br />
* Fonts are installed in {{ic|/usr/share/fonts}}<br />
* User installed fonts are in {{ic|$HOME/.local/share/fonts}}<br />
* Global font configurations in {{ic|/etc/fonts/}}<br />
* System/package font configurations in {{ic|/usr/share/fontconfig}}<br />
* User font configuration in {{ic|$HOME/.config/fontconfig}}<br />
<br />
== User Configuration ==<br />
{{hc|head=~/.config/fontconfig/fonts.conf|output=<br />
<?xml version="1.0"?><br />
<!DOCTYPE fontconfig SYSTEM "fonts.dtd"><br />
<fontconfig><br />
<include ignore_missing="yes">conf.d</include><br />
<match target="font"><br />
<edit name="antialias" mode="assign"><br />
<bool>true</bool><br />
</edit><br />
</match><br />
<match target="font"><br />
<edit name="rgba" mode="assign"><br />
<const>rgb</const><br />
</edit><br />
</match><br />
<match target="font"><br />
<edit name="lcdfilter" mode="assign"><br />
<const>lcddefault</const><br />
</edit><br />
</match><br />
<match target="font"><br />
<edit name="hinting" mode="assign"><br />
<bool>true</bool><br />
</edit><br />
</match><br />
<match target="font"><br />
<edit name="hintstyle" mode="assign"><br />
<const>hintfull</const><br />
</edit><br />
</match><br />
<match target="font"><br />
<edit name="autohint" mode="assign"><br />
<bool>false</bool><br />
</edit><br />
</match><br />
<match target="pattern"><br />
<edit name="dpi" mode="assign"><br />
<double>96</double><br />
</edit><br />
</match><br />
</fontconfig><br />
}}</div>Meskarunehttps://wiki.archlinux.org/index.php?title=User:Meskarune/fontconfig&diff=739937User:Meskarune/fontconfig2022-08-03T13:19:26Z<p>Meskarune: /* Favorite Fonts */ added some links and descriptions</p>
<hr />
<div>{{Related articles start}}<br />
{{Related|Font configuration}}<br />
{{Related|Metric-compatible fonts}}<br />
{{Related articles end}}<br />
<br />
Setting up fonts so they look nicer.<br />
<br />
== Packages ==<br />
Packages to install for nice fonts and configuration.<br />
<br />
=== Configuration and rendering ===<br />
* {{pkg|fontconfig}}<br />
* {{pkg|freetype2}}<br />
* {{pkg|cairo}}<br />
<br />
=== Fonts ===<br />
<br />
=== Arch Packages ===<br />
* {{pkg|noto-fonts}} - base fonts (serif, sans-serif, monospace with bold and italic)<br />
* {{pkg|noto-fonts-cjk}} - support for chinese/japanese/korean<br />
* {{pkg|noto-fonts-emoji}} - support for emoji<br />
* {{pkg|noto-fonts-extra}} - additional variants (condensed, semi-bold, extra-light)<br />
<br />
* {{pkg|ttf-liberation}} - Font family with metric compatibility with Arial/Helvetica (sans-serif), Times New Roman (serif), and Courier New (monospace).<br />
<br />
=== AUR Packages ===<br />
{{aur|ttf-tahoma}} - UI text for programs run under [[Wine]]<br />
<br />
* Bulleted list item<br />
=== Favorite Fonts ===<br />
* Inter UI https://rsms.me/inter/ font designed for computer UIs<br />
* Bitter https://www.solmatas.com/bitter/ beautiful slab serif typeface designed for long form reading on computer screens. Supports latin, cyrillic and devanagari character sets and ligatures.<br />
<br />
== Directory locations ==<br />
* Fonts are installed in {{ic|/usr/share/fonts}}<br />
* User installed fonts are in {{ic|$HOME/.local/share/fonts}}<br />
* Global font configurations in {{ic|/etc/fonts/}}<br />
* System/package font configurations in {{ic|/usr/share/fontconfig}}<br />
* User font configuration in {{ic|$HOME/.config/fontconfig}}<br />
<br />
== User Configuration ==<br />
{{hc|head=~/.config/fontconfig/fonts.conf|output=<br />
<?xml version="1.0"?><br />
<!DOCTYPE fontconfig SYSTEM "fonts.dtd"><br />
<fontconfig><br />
<include ignore_missing="yes">conf.d</include><br />
<match target="font"><br />
<edit name="antialias" mode="assign"><br />
<bool>true</bool><br />
</edit><br />
</match><br />
<match target="font"><br />
<edit name="rgba" mode="assign"><br />
<const>rgb</const><br />
</edit><br />
</match><br />
<match target="font"><br />
<edit name="lcdfilter" mode="assign"><br />
<const>lcddefault</const><br />
</edit><br />
</match><br />
<match target="font"><br />
<edit name="hinting" mode="assign"><br />
<bool>true</bool><br />
</edit><br />
</match><br />
<match target="font"><br />
<edit name="hintstyle" mode="assign"><br />
<const>hintfull</const><br />
</edit><br />
</match><br />
<match target="font"><br />
<edit name="autohint" mode="assign"><br />
<bool>false</bool><br />
</edit><br />
</match><br />
<match target="pattern"><br />
<edit name="dpi" mode="assign"><br />
<double>96</double><br />
</edit><br />
</match><br />
</fontconfig><br />
}}</div>Meskarunehttps://wiki.archlinux.org/index.php?title=User:Meskarune/fontconfig&diff=739912User:Meskarune/fontconfig2022-08-03T11:34:01Z<p>Meskarune: /* Fonts */ added aur and fav sections and some more links</p>
<hr />
<div>{{Related articles start}}<br />
{{Related|Font configuration}}<br />
{{Related|Metric-compatible fonts}}<br />
{{Related articles end}}<br />
<br />
Setting up fonts so they look nicer.<br />
<br />
== Packages ==<br />
Packages to install for nice fonts and configuration.<br />
<br />
=== Configuration and rendering ===<br />
* {{pkg|fontconfig}}<br />
* {{pkg|freetype2}}<br />
* {{pkg|cairo}}<br />
<br />
=== Fonts ===<br />
<br />
=== Arch Packages ===<br />
* {{pkg|noto-fonts}} - base fonts (serif, sans-serif, monospace with bold and italic)<br />
* {{pkg|noto-fonts-cjk}} - support for chinese/japanese/korean<br />
* {{pkg|noto-fonts-emoji}} - support for emoji<br />
* {{pkg|noto-fonts-extra}} - additional variants (condensed, semi-bold, extra-light)<br />
<br />
* {{pkg|ttf-liberation}} - Font family with metric compatibility with Arial/Helvetica (sans-serif), Times New Roman (serif), and Courier New (monospace).<br />
<br />
=== AUR Packages ===<br />
{{aur|ttf-tahoma}} - UI text for programs run under [[Wine]]<br />
<br />
=== Favorite Fonts ===<br />
* Inter UI<br />
* Bitter<br />
<br />
== Directory locations ==<br />
* Fonts are installed in {{ic|/usr/share/fonts}}<br />
* User installed fonts are in {{ic|$HOME/.local/share/fonts}}<br />
* Global font configurations in {{ic|/etc/fonts/}}<br />
* System/package font configurations in {{ic|/usr/share/fontconfig}}<br />
* User font configuration in {{ic|$HOME/.config/fontconfig}}<br />
<br />
== User Configuration ==<br />
{{hc|head=~/.config/fontconfig/fonts.conf|output=<br />
<?xml version="1.0"?><br />
<!DOCTYPE fontconfig SYSTEM "fonts.dtd"><br />
<fontconfig><br />
<include ignore_missing="yes">conf.d</include><br />
<match target="font"><br />
<edit name="antialias" mode="assign"><br />
<bool>true</bool><br />
</edit><br />
</match><br />
<match target="font"><br />
<edit name="rgba" mode="assign"><br />
<const>rgb</const><br />
</edit><br />
</match><br />
<match target="font"><br />
<edit name="lcdfilter" mode="assign"><br />
<const>lcddefault</const><br />
</edit><br />
</match><br />
<match target="font"><br />
<edit name="hinting" mode="assign"><br />
<bool>true</bool><br />
</edit><br />
</match><br />
<match target="font"><br />
<edit name="hintstyle" mode="assign"><br />
<const>hintfull</const><br />
</edit><br />
</match><br />
<match target="font"><br />
<edit name="autohint" mode="assign"><br />
<bool>false</bool><br />
</edit><br />
</match><br />
<match target="pattern"><br />
<edit name="dpi" mode="assign"><br />
<double>96</double><br />
</edit><br />
</match><br />
</fontconfig><br />
}}</div>Meskarunehttps://wiki.archlinux.org/index.php?title=User:Meskarune/fontconfig&diff=739911User:Meskarune/fontconfig2022-08-03T11:04:04Z<p>Meskarune: /* User Configuration */ autohint to false</p>
<hr />
<div>{{Related articles start}}<br />
{{Related|Font configuration}}<br />
{{Related|Metric-compatible fonts}}<br />
{{Related articles end}}<br />
<br />
Setting up fonts so they look nicer.<br />
<br />
== Packages ==<br />
Packages to install for nice fonts and configuration.<br />
<br />
=== Configuration and rendering ===<br />
* {{pkg|fontconfig}}<br />
* {{pkg|freetype2}}<br />
* {{pkg|cairo}}<br />
<br />
=== Fonts ===<br />
* {{pkg|noto-fonts}} - base fonts (serif, sans-serif, monospace with bold and italic)<br />
* {{pkg|noto-fonts-cjk}} - support for chinese/japanese/korean<br />
* {{pkg|noto-fonts-emoji}} - support for emoji<br />
* {{pkg|noto-fonts-extra}} - additional variants (condensed, semi-bold, extra-light)<br />
<br />
* {{pkg|ttf-liberation}} - Font family with metric compatibility with Arial (sans-serif), Times New Roman (serif), and Courier New (monospace).<br />
<br />
== Directory locations ==<br />
* Fonts are installed in {{ic|/usr/share/fonts}}<br />
* User installed fonts are in {{ic|$HOME/.local/share/fonts}}<br />
* Global font configurations in {{ic|/etc/fonts/}}<br />
* System/package font configurations in {{ic|/usr/share/fontconfig}}<br />
* User font configuration in {{ic|$HOME/.config/fontconfig}}<br />
<br />
== User Configuration ==<br />
{{hc|head=~/.config/fontconfig/fonts.conf|output=<br />
<?xml version="1.0"?><br />
<!DOCTYPE fontconfig SYSTEM "fonts.dtd"><br />
<fontconfig><br />
<include ignore_missing="yes">conf.d</include><br />
<match target="font"><br />
<edit name="antialias" mode="assign"><br />
<bool>true</bool><br />
</edit><br />
</match><br />
<match target="font"><br />
<edit name="rgba" mode="assign"><br />
<const>rgb</const><br />
</edit><br />
</match><br />
<match target="font"><br />
<edit name="lcdfilter" mode="assign"><br />
<const>lcddefault</const><br />
</edit><br />
</match><br />
<match target="font"><br />
<edit name="hinting" mode="assign"><br />
<bool>true</bool><br />
</edit><br />
</match><br />
<match target="font"><br />
<edit name="hintstyle" mode="assign"><br />
<const>hintfull</const><br />
</edit><br />
</match><br />
<match target="font"><br />
<edit name="autohint" mode="assign"><br />
<bool>false</bool><br />
</edit><br />
</match><br />
<match target="pattern"><br />
<edit name="dpi" mode="assign"><br />
<double>96</double><br />
</edit><br />
</match><br />
</fontconfig><br />
}}</div>Meskarunehttps://wiki.archlinux.org/index.php?title=User:Meskarune/fontconfig&diff=739904User:Meskarune/fontconfig2022-08-03T10:44:16Z<p>Meskarune: changed heading to level 2 for configs</p>
<hr />
<div>{{Related articles start}}<br />
{{Related|Font configuration}}<br />
{{Related|Metric-compatible fonts}}<br />
{{Related articles end}}<br />
<br />
Setting up fonts so they look nicer.<br />
<br />
== Packages ==<br />
Packages to install for nice fonts and configuration.<br />
<br />
=== Configuration and rendering ===<br />
* {{pkg|fontconfig}}<br />
* {{pkg|freetype2}}<br />
* {{pkg|cairo}}<br />
<br />
=== Fonts ===<br />
* {{pkg|noto-fonts}} - base fonts (serif, sans-serif, monospace with bold and italic)<br />
* {{pkg|noto-fonts-cjk}} - support for chinese/japanese/korean<br />
* {{pkg|noto-fonts-emoji}} - support for emoji<br />
* {{pkg|noto-fonts-extra}} - additional variants (condensed, semi-bold, extra-light)<br />
<br />
* {{pkg|ttf-liberation}} - Font family with metric compatibility with Arial (sans-serif), Times New Roman (serif), and Courier New (monospace).<br />
<br />
== Directory locations ==<br />
* Fonts are installed in {{ic|/usr/share/fonts}}<br />
* User installed fonts are in {{ic|$HOME/.local/share/fonts}}<br />
* Global font configurations in {{ic|/etc/fonts/}}<br />
* System/package font configurations in {{ic|/usr/share/fontconfig}}<br />
* User font configuration in {{ic|$HOME/.config/fontconfig}}<br />
<br />
== User Configuration ==<br />
{{hc|head=~/.config/fontconfig/fonts.conf|output=<br />
<?xml version="1.0"?><br />
<!DOCTYPE fontconfig SYSTEM "fonts.dtd"><br />
<fontconfig><br />
<include ignore_missing="yes">conf.d</include><br />
<match target="font"><br />
<edit name="antialias" mode="assign"><br />
<bool>true</bool><br />
</edit><br />
</match><br />
<match target="font"><br />
<edit name="rgba" mode="assign"><br />
<const>rgb</const><br />
</edit><br />
</match><br />
<match target="font"><br />
<edit name="lcdfilter" mode="assign"><br />
<const>lcddefault</const><br />
</edit><br />
</match><br />
<match target="font"><br />
<edit name="hinting" mode="assign"><br />
<bool>true</bool><br />
</edit><br />
</match><br />
<match target="font"><br />
<edit name="hintstyle" mode="assign"><br />
<const>hintfull</const><br />
</edit><br />
</match><br />
<match target="font"><br />
<edit name="autohint" mode="assign"><br />
<bool>true</bool><br />
</edit><br />
</match><br />
<match target="pattern"><br />
<edit name="dpi" mode="assign"><br />
<double>96</double><br />
</edit><br />
</match><br />
</fontconfig><br />
}}</div>Meskarunehttps://wiki.archlinux.org/index.php?title=User:Meskarune/fontconfig&diff=739903User:Meskarune/fontconfig2022-08-03T10:42:46Z<p>Meskarune: /* User Configuration */ fixed template issue</p>
<hr />
<div>{{Related articles start}}<br />
{{Related|Font configuration}}<br />
{{Related|Metric-compatible fonts}}<br />
{{Related articles end}}<br />
<br />
Setting up fonts so they look nicer.<br />
<br />
== Packages ==<br />
Packages to install for nice fonts and configuration.<br />
<br />
=== Configuration and rendering ===<br />
* {{pkg|fontconfig}}<br />
* {{pkg|freetype2}}<br />
* {{pkg|cairo}}<br />
<br />
=== Fonts ===<br />
* {{pkg|noto-fonts}} - base fonts (serif, sans-serif, monospace with bold and italic)<br />
* {{pkg|noto-fonts-cjk}} - support for chinese/japanese/korean<br />
* {{pkg|noto-fonts-emoji}} - support for emoji<br />
* {{pkg|noto-fonts-extra}} - additional variants (condensed, semi-bold, extra-light)<br />
<br />
* {{pkg|ttf-liberation}} - Font family with metric compatibility with Arial (sans-serif), Times New Roman (serif), and Courier New (monospace).<br />
<br />
== Directory locations ==<br />
* Fonts are installed in {{ic|/usr/share/fonts}}<br />
* User installed fonts are in {{ic|$HOME/.local/share/fonts}}<br />
* Global font configurations in {{ic|/etc/fonts/}}<br />
* System/package font configurations in {{ic|/usr/share/fontconfig}}<br />
* User font configuration in {{ic|$HOME/.config/fontconfig}}<br />
<br />
=== User Configuration ===<br />
{{hc|head=~/.config/fontconfig/fonts.conf|output=<br />
<?xml version="1.0"?><br />
<!DOCTYPE fontconfig SYSTEM "fonts.dtd"><br />
<fontconfig><br />
<include ignore_missing="yes">conf.d</include><br />
<match target="font"><br />
<edit name="antialias" mode="assign"><br />
<bool>true</bool><br />
</edit><br />
</match><br />
<match target="font"><br />
<edit name="rgba" mode="assign"><br />
<const>rgb</const><br />
</edit><br />
</match><br />
<match target="font"><br />
<edit name="lcdfilter" mode="assign"><br />
<const>lcddefault</const><br />
</edit><br />
</match><br />
<match target="font"><br />
<edit name="hinting" mode="assign"><br />
<bool>true</bool><br />
</edit><br />
</match><br />
<match target="font"><br />
<edit name="hintstyle" mode="assign"><br />
<const>hintfull</const><br />
</edit><br />
</match><br />
<match target="font"><br />
<edit name="autohint" mode="assign"><br />
<bool>true</bool><br />
</edit><br />
</match><br />
<match target="pattern"><br />
<edit name="dpi" mode="assign"><br />
<double>96</double><br />
</edit><br />
</match><br />
</fontconfig><br />
}}</div>Meskarunehttps://wiki.archlinux.org/index.php?title=User:Meskarune/fontconfig&diff=739901User:Meskarune/fontconfig2022-08-03T10:38:17Z<p>Meskarune: added config file section with fonts.conf</p>
<hr />
<div>{{Related articles start}}<br />
{{Related|Font configuration}}<br />
{{Related|Metric-compatible fonts}}<br />
{{Related articles end}}<br />
<br />
Setting up fonts so they look nicer.<br />
<br />
== Packages ==<br />
Packages to install for nice fonts and configuration.<br />
<br />
=== Configuration and rendering ===<br />
* {{pkg|fontconfig}}<br />
* {{pkg|freetype2}}<br />
* {{pkg|cairo}}<br />
<br />
=== Fonts ===<br />
* {{pkg|noto-fonts}} - base fonts (serif, sans-serif, monospace with bold and italic)<br />
* {{pkg|noto-fonts-cjk}} - support for chinese/japanese/korean<br />
* {{pkg|noto-fonts-emoji}} - support for emoji<br />
* {{pkg|noto-fonts-extra}} - additional variants (condensed, semi-bold, extra-light)<br />
<br />
* {{pkg|ttf-liberation}} - Font family with metric compatibility with Arial (sans-serif), Times New Roman (serif), and Courier New (monospace).<br />
<br />
== Directory locations ==<br />
* Fonts are installed in {{ic|/usr/share/fonts}}<br />
* User installed fonts are in {{ic|$HOME/.local/share/fonts}}<br />
* Global font configurations in {{ic|/etc/fonts/}}<br />
* System/package font configurations in {{ic|/usr/share/fontconfig}}<br />
* User font configuration in {{ic|$HOME/.config/fontconfig}}<br />
<br />
=== User Configuration ===<br />
{{hc|~/.config/fontconfig/fonts.conf|<br />
<?xml version="1.0"?><br />
<!DOCTYPE fontconfig SYSTEM "fonts.dtd"><br />
<fontconfig><br />
<include ignore_missing="yes">conf.d</include><br />
<match target="font"><br />
<edit name="antialias" mode="assign"><br />
<bool>true</bool><br />
</edit><br />
</match><br />
<match target="font"><br />
<edit name="rgba" mode="assign"><br />
<const>rgb</const><br />
</edit><br />
</match><br />
<match target="font"><br />
<edit name="lcdfilter" mode="assign"><br />
<const>lcddefault</const><br />
</edit><br />
</match><br />
<match target="font"><br />
<edit name="hinting" mode="assign"><br />
<bool>true</bool><br />
</edit><br />
</match><br />
<match target="font"><br />
<edit name="hintstyle" mode="assign"><br />
<const>hintfull</const><br />
</edit><br />
</match><br />
<match target="font"><br />
<edit name="autohint" mode="assign"><br />
<bool>true</bool><br />
</edit><br />
</match><br />
<match target="pattern"><br />
<edit name="dpi" mode="assign"><br />
<double>96</double><br />
</edit><br />
</match><br />
</fontconfig><br />
}}</div>Meskarunehttps://wiki.archlinux.org/index.php?title=User:Meskarune/fontconfig&diff=739897User:Meskarune/fontconfig2022-08-03T10:32:40Z<p>Meskarune: added related articles</p>
<hr />
<div>{{Related articles start}}<br />
{{Related|Font configuration}}<br />
{{Related|Metric-compatible fonts}}<br />
{{Related articles end}}<br />
<br />
Setting up fonts so they look nicer.<br />
<br />
== Packages ==<br />
Packages to install for nice fonts and configuration.<br />
<br />
=== Configuration and rendering ===<br />
* {{pkg|fontconfig}}<br />
* {{pkg|freetype2}}<br />
* {{pkg|cairo}}<br />
<br />
=== Fonts ===<br />
* {{pkg|noto-fonts}} - base fonts (serif, sans-serif, monospace with bold and italic)<br />
* {{pkg|noto-fonts-cjk}} - support for chinese/japanese/korean<br />
* {{pkg|noto-fonts-emoji}} - support for emoji<br />
* {{pkg|noto-fonts-extra}} - additional variants (condensed, semi-bold, extra-light)<br />
<br />
* {{pkg|ttf-liberation}} - Font family with metric compatibility with Arial (sans-serif), Times New Roman (serif), and Courier New (monospace).<br />
<br />
== Directory locations ==<br />
* Fonts are installed in {{ic|/usr/share/fonts}}<br />
* User installed fonts are in {{ic|$HOME/.local/share/fonts}}<br />
* Global font configurations in {{ic|/etc/fonts/}}<br />
* System/package font configurations in {{ic|/usr/share/fontconfig}}<br />
* User font configuration in {{ic|$HOME/.config/fontconfig}}</div>Meskarunehttps://wiki.archlinux.org/index.php?title=User:Meskarune/fontconfig&diff=739895User:Meskarune/fontconfig2022-08-03T10:30:13Z<p>Meskarune: /* Packages */ added font packages</p>
<hr />
<div>== Packages ==<br />
Packages to install for nice fonts and configuration.<br />
<br />
=== Configuration and rendering ===<br />
* {{pkg|fontconfig}}<br />
* {{pkg|freetype2}}<br />
* {{pkg|cairo}}<br />
<br />
=== Fonts ===<br />
* {{pkg|noto-fonts}} - base fonts (serif, sans-serif, monospace with bold and italic)<br />
* {{pkg|noto-fonts-cjk}} - support for chinese/japanese/korean<br />
* {{pkg|noto-fonts-emoji}} - support for emoji<br />
* {{pkg|noto-fonts-extra}} - additional variants (condensed, semi-bold, extra-light)<br />
<br />
* {{pkg|ttf-liberation}} - Font family with metric compatibility with Arial (sans-serif), Times New Roman (serif), and Courier New (monospace).<br />
<br />
== Directory locations ==<br />
* Fonts are installed in {{ic|/usr/share/fonts}}<br />
* User installed fonts are in {{ic|$HOME/.local/share/fonts}}<br />
* Global font configurations in {{ic|/etc/fonts/}}<br />
* System/package font configurations in {{ic|/usr/share/fontconfig}}<br />
* User font configuration in {{ic|$HOME/.config/fontconfig}}</div>Meskarunehttps://wiki.archlinux.org/index.php?title=User:Meskarune/fontconfig&diff=739890User:Meskarune/fontconfig2022-08-03T09:41:29Z<p>Meskarune: /* Directory locations */ added template for directory locations and more directories</p>
<hr />
<div>== Packages ==<br />
* {{pkg|fontconfig}}<br />
* {{pkg|freetype2}}<br />
* {{pkg|cairo}}<br />
<br />
== Directory locations ==<br />
* Fonts are installed in {{ic|/usr/share/fonts}}<br />
* User installed fonts are in {{ic|$HOME/.local/share/fonts}}<br />
* Global font configurations in {{ic|/etc/fonts/}}<br />
* System/package font configurations in {{ic|/usr/share/fontconfig}}<br />
* User font configuration in {{ic|$HOME/.config/fontconfig}}</div>Meskarunehttps://wiki.archlinux.org/index.php?title=User:Meskarune/fontconfig&diff=739889User:Meskarune/fontconfig2022-08-03T09:36:21Z<p>Meskarune: /* Packages */ added cairo to the list</p>
<hr />
<div>== Packages ==<br />
* {{pkg|fontconfig}}<br />
* {{pkg|freetype2}}<br />
* {{pkg|cairo}}<br />
<br />
== Directory locations ==<br />
* fonts are installed in `/usr/share/fonts`<br />
* User installed fonts are in `$HOME/.local/share/fonts`</div>Meskarunehttps://wiki.archlinux.org/index.php?title=User:Meskarune/fontconfig&diff=739888User:Meskarune/fontconfig2022-08-03T09:33:46Z<p>Meskarune: /* Packages */ fixed template syntax</p>
<hr />
<div>== Packages ==<br />
* {{pkg|fontconfig}}<br />
* {{pkg|freetype2}}<br />
<br />
== Directory locations ==<br />
* fonts are installed in `/usr/share/fonts`<br />
* User installed fonts are in `$HOME/.local/share/fonts`</div>Meskarunehttps://wiki.archlinux.org/index.php?title=User:Meskarune/fontconfig&diff=739887User:Meskarune/fontconfig2022-08-03T09:32:41Z<p>Meskarune: created page to save notes on font configuration</p>
<hr />
<div>== Packages ==<br />
* {{PKG|fontconfig}}<br />
* {{PKG|freetype2}}<br />
<br />
== Directory locations ==<br />
* fonts are installed in `/usr/share/fonts`<br />
* User installed fonts are in `$HOME/.local/share/fonts`</div>Meskarunehttps://wiki.archlinux.org/index.php?title=User:Meskarune/vector.css&diff=739578User:Meskarune/vector.css2022-07-30T19:31:00Z<p>Meskarune: delete</p>
<hr />
<div></div>Meskarunehttps://wiki.archlinux.org/index.php?title=User:Meskarune/vector-2022.css&diff=739577User:Meskarune/vector-2022.css2022-07-30T19:27:58Z<p>Meskarune: delete</p>
<hr />
<div></div>Meskarunehttps://wiki.archlinux.org/index.php?title=User:Meskarune/vector.css&diff=739564User:Meskarune/vector.css2022-07-30T14:34:37Z<p>Meskarune: old dark theme that works with vector</p>
<hr />
<div>h1,h2,h3,h4,h5,h6{<br />
color:#c1c1c1<br />
}<br />
hr{<br />
color:#222<br />
}<br />
.editOptions{<br />
background-color:#333;<br />
border-color:#4c4c4c<br />
}<br />
input,textarea{<br />
background-color:#4c4c4c;<br />
border-color:#4c4c4c;<br />
color:#c1c1c1<br />
}<br />
a,.mw-body a.external,.mw-body a.extiw{<br />
color:#e69710<br />
}<br />
a:visited,.mw-body a.external:visited,.mw-body a.extiw:visited{<br />
color:#8a7f6c<br />
}<br />
a.new,#p-personal a.new{<br />
color:#d44<br />
}<br />
ul{<br />
list-style-image:none<br />
}<br />
.thumbinner,.catlinks{<br />
background-color:#4c4c4c;<br />
border-color:#666<br />
}<br />
#toc,.toc,#filetoc,.gallerybox, .thumb{<br />
background-color:#4c4c4c;<br />
border-color:#666<br />
}<br />
code{<br />
border:none;<br />
background-color:inherit;<br />
color:inherit<br />
}<br />
table.mw_metadata td,table.mw_metadata th,table.wikitable,table.wikitable>*>tr>th,table.wikitable>*>tr>td,pre{<br />
color:#c1c1c1;<br />
background-color:#4c4c4c;<br />
border-color:#666<br />
}<br />
table.mw_metadata th,table.wikitable>*>tr>th{<br />
background-color:#595959<br />
}<br />
.diff{<br />
background-color:#4c4c4c<br />
}<br />
.diffchange{<br />
color:#4c4c4c<br />
}<br />
#pagehistory li.selected,.diff-context{<br />
background-color:inherit;<br />
color:inherit<br />
}<br />
#pagehistory li{<br />
border:0<br />
}<br />
.mw-gallery-packed-hover .gallerybox:hover .gallerytextwrapper,.mw-gallery-packed-overlay .gallerybox .gallerytextwrapper,.mw-gallery-packed-hover .gallerybox.mw-gallery-focused .gallerytextwrapper{<br />
background-color:rgba(0,0,0,0.8)<br />
}<br />
#left-navigation div.vectorTabs,#right-navigation div.vectorTabs{<br />
background-image:inherit;<br />
background-color:#250b2d<br />
}<br />
#left-navigation div.vectorTabs ul,#right-navigation div.vectorTabs ul{<br />
background-color:#250b2d<br />
}<br />
#left-navigation div.vectorTabs ul li,#right-navigation div.vectorTabs ul li{<br />
background-color:#222;<br />
background-image:-moz-linear-gradient(top, #2e2e2e 20%, #222 100%);<br />
background-image:-webkit-gradient(linear, left top, left bottom, color-stop(20%, #2e2e2e), color-stop(100%, #222));<br />
background-image:-webkit-linear-gradient(top, #2e2e2e 20%, #222 100%);<br />
background-image:linear-gradient(#2e2e2e 20%, #222 100%)<br />
}<br />
#left-navigation div.vectorTabs li.new a,#right-navigation div.vectorTabs li.new a,#left-navigation div.vectorTabs li.new a:visited,#right-navigation div.vectorTabs li.new a:visited{<br />
color:#d44<br />
}<br />
#left-navigation div.vectorTabs li.selected,#right-navigation div.vectorTabs li.selected{<br />
background-color:#333;<br />
background-image:-moz-linear-gradient(top, #e69710 0, #333 10%);<br />
background-image:-webkit-gradient(linear, left top, left bottom, color-stop(0, #e69710), color-stop(10%, #333));<br />
background-image:-webkit-linear-gradient(top, #e69710 0, #333 10%);<br />
background-image:linear-gradient(#e69710 0, #333 10%)<br />
}<br />
#left-navigation div.vectorTabs li.selected a,#right-navigation div.vectorTabs li.selected a,#left-navigation div.vectorTabs li.selected a:visited,#right-navigation div.vectorTabs li.selected a:visited{<br />
color:#8a7f6c<br />
}<br />
#left-navigation div.vectorTabs li a,#right-navigation div.vectorTabs li a{<br />
color:#e69710<br />
}<br />
#left-navigation div.vectorTabs span,#right-navigation div.vectorTabs span{<br />
background:transparent<br />
}<br />
#mw-head #right-navigation div.vectorMenu h3{<br />
background:inherit<br />
}<br />
#mw-head div.vectorMenu h3 span{<br />
color:#e69710<br />
}<br />
div.vectorMenu h3 a{<br />
background:inherit<br />
}<br />
div.vectorMenu ul{<br />
background-color:black;<br />
border:solid 1px #0c0c0c<br />
}<br />
div.vectorMenu li a{<br />
color:#e69710<br />
}<br />
div.vectorMenu li.selected a,div.vectorMenu li.selected a:visited{<br />
color:#8a7f6c;<br />
text-decoration:none<br />
}<br />
.vectorMenu#p-cactions div.menu{<br />
border-color:#666<br />
}<br />
.vectorMenu#p-cactions ul{<br />
border:0;<br />
background-color:#4c4c4c<br />
}<br />
#mw-navigation #mw-panel .portal{<br />
background-image:none;<br />
border-top:1px solid #4c4c4c<br />
}<br />
#mw-navigation #mw-panel .portal#p-logo,#mw-navigation #mw-panel .portal#p-navigation{<br />
border-top:none<br />
}<br />
html{<br />
font-size:100%<br />
}<br />
html,body{<br />
height:100%;<br />
margin:0;<br />
padding:0;<br />
font-family:sans-serif<br />
}<br />
body{<br />
background-color:#2a2a2a<br />
}<br />
.mw-body{<br />
margin-left:10em;<br />
padding:1em;<br />
border:1px solid #250b2d;<br />
border-right-width:0;<br />
margin-top:-1px;<br />
background-color:#333;<br />
color:#c1c1c1;<br />
direction:ltr<br />
}<br />
.mw-body .mw-editsection,.mw-body .mw-editsection-like{<br />
font-family:sans-serif<br />
}<br />
.mw-body p{<br />
line-height:inherit;<br />
margin:.5em 0<br />
}<br />
.mw-body h1,.mw-body h2,.mw-body #firstHeading{<br />
font-family:"Linux Libertine",Georgia,Times,serif;<br />
line-height:1.3;<br />
margin-bottom:.25em;<br />
padding:0<br />
}<br />
.mw-body h1,.mw-body #firstHeading{<br />
font-size:1.8em<br />
}<br />
.mw-body h2{<br />
font-size:1.5em;<br />
margin-top:1em<br />
}<br />
.mw-body h3,.mw-body h4,.mw-body h5,.mw-body h6{<br />
line-height:1.6;<br />
margin-top:.3em;<br />
margin-bottom:0;<br />
padding-bottom:0<br />
}<br />
.mw-body h3{<br />
font-size:1.17em<br />
}<br />
.mw-body h3,.mw-body h4{<br />
font-weight:bold<br />
}<br />
.mw-body h4,.mw-body h5,.mw-body h6{<br />
font-size:100%<br />
}<br />
.mw-body #toc h2,.mw-body .toc h2{<br />
font-size:100%;<br />
font-family:sans-serif<br />
}<br />
.emptyPortlet{<br />
display:none<br />
}<br />
ul{<br />
list-style-type:disc;<br />
list-style-image:<br />
/* @embed */<br />
url('skins/Vector/images/bullet-icon.png')<br />
}<br />
pre,.mw-code{<br />
line-height:1.3em<br />
}<br />
#siteNotice{<br />
font-size:.8em<br />
}<br />
.redirectText{<br />
font-size:140%<br />
}<br />
.redirectMsg img{<br />
vertical-align:text-bottom<br />
}<br />
.mw-body-content{<br />
position:relative;<br />
line-height:1.6;<br />
font-size:.875em<br />
}<br />
body.vector-animateLayout .mw-body,body.vector-animateLayout #footer,body.vector-animateLayout #left-navigation{<br />
-webkit-transition:margin-left 250ms,padding 250ms;<br />
-moz-transition:margin-left 250ms,padding 250ms;<br />
-o-transition:margin-left 250ms,padding 250ms;<br />
transition:margin-left 250ms,padding 250ms<br />
}<br />
body.vector-animateLayout #p-logo{<br />
-webkit-transition:left 250ms;<br />
-moz-transition:left 250ms;<br />
-o-transition:left 250ms;<br />
transition:left 250ms<br />
}<br />
body.vector-animateLayout #mw-panel{<br />
-webkit-transition:padding-right 250ms;<br />
-moz-transition:padding-right 250ms;<br />
-o-transition:padding-right 250ms;<br />
transition:padding-right 250ms<br />
}<br />
body.vector-animateLayout #p-search{<br />
-webkit-transition:margin-right 250ms;<br />
-moz-transition:margin-right 250ms;<br />
-o-transition:margin-right 250ms;<br />
transition:margin-right 250ms<br />
}<br />
body.vector-animateLayout #p-personal{<br />
-webkit-transition:right 250ms;<br />
-moz-transition:right 250ms;<br />
-o-transition:right 250ms;<br />
transition:right 250ms<br />
}<br />
body.vector-animateLayout #mw-head-base{<br />
-webkit-transition:margin-left 250ms;<br />
-moz-transition:margin-left 250ms;<br />
-o-transition:margin-left 250ms;<br />
transition:margin-left 250ms<br />
}<br />
#p-personal{<br />
position:absolute;<br />
top:.33em;<br />
right:.75em;<br />
z-index:100<br />
}<br />
#p-personal h3{<br />
display:none<br />
}<br />
#p-personal ul{<br />
list-style-type:none;<br />
list-style-image:none;<br />
margin:0;<br />
padding-left:10em<br />
}<br />
#p-personal li{<br />
line-height:1.125em;<br />
float:left;<br />
margin-left:.75em;<br />
margin-top:.5em;<br />
font-size:.75em;<br />
white-space:nowrap<br />
}<br />
#pt-userpage,#pt-anonuserpage{<br />
background-position:left top;<br />
background-repeat:no-repeat;<br />
background-image:url('skins/Vector/images/user-icon.png');<br />
background-image:-webkit-linear-gradient(transparent, transparent),<br />
/* @embed */<br />
url('skins/Vector/images/user-icon.svg');<br />
background-image:linear-gradient(transparent, transparent),<br />
/* @embed */<br />
url('skins/Vector/images/user-icon.svg');<br />
padding-left:15px !important<br />
}<br />
#p-search{<br />
float:left;<br />
margin-right:.5em;<br />
margin-left:.5em<br />
}<br />
#p-search h3{<br />
display:none<br />
}<br />
#p-search form,#p-search input{<br />
margin:0;<br />
margin-top:.4em<br />
}<br />
#simpleSearch{<br />
display:block;<br />
width:12.6em;<br />
padding-right:1.4em;<br />
height:1.4em;<br />
margin-top:.65em;<br />
position:relative;<br />
min-height:1px;<br />
border:solid 1px #aaa;<br />
color:black;<br />
background-color:white;<br />
background-image:<br />
/* @embed */<br />
url('skins/Vector/images/search-fade.png');<br />
background-position:top left;<br />
background-repeat:repeat-x<br />
}<br />
#simpleSearch input{<br />
margin:0;<br />
padding:0;<br />
border:0;<br />
background-color:transparent;<br />
color:black<br />
}<br />
#simpleSearch #searchInput{<br />
width:100%;<br />
padding:.2em 0 .2em .2em;<br />
font-size:13px;<br />
direction:ltr;<br />
-webkit-appearance:textfield<br />
}<br />
#simpleSearch #searchInput:focus{<br />
outline:none<br />
}<br />
div#simpleSearch #searchInput.placeholder{<br />
color:#999<br />
}<br />
#simpleSearch #searchInput:-ms-input-placeholder{<br />
color:#999<br />
}<br />
#simpleSearch #searchInput:-moz-placeholder{<br />
color:#999<br />
}<br />
#simpleSearch #searchInput::-webkit-search-decoration,#simpleSearch #searchInput::-webkit-search-cancel-button,#simpleSearch #searchInput::-webkit-search-results-button,#simpleSearch #searchInput::-webkit-search-results-decoration{<br />
-webkit-appearance:textfield<br />
}<br />
#simpleSearch #searchButton,#simpleSearch #mw-searchButton{<br />
position:absolute;<br />
top:0;<br />
right:0;<br />
width:1.65em;<br />
height:100%;<br />
cursor:pointer;<br />
text-indent:-99999px;<br />
line-height:1;<br />
direction:ltr;<br />
white-space:nowrap;<br />
overflow:hidden;<br />
background-image:url('skins/Vector/images/search-ltr.png');<br />
background-image:-webkit-linear-gradient(transparent, transparent),<br />
/* @embed */<br />
url('skins/Vector/images/search-ltr.svg');<br />
background-image:linear-gradient(transparent, transparent),<br />
/* @embed */<br />
url('skins/Vector/images/search-ltr.svg');<br />
background-position:center center;<br />
background-repeat:no-repeat<br />
}<br />
#simpleSearch #mw-searchButton{<br />
z-index:1<br />
}<br />
div.vectorTabs h3{<br />
display:none<br />
}<br />
div.vectorTabs{<br />
float:left;<br />
height:2.5em;<br />
background-image:<br />
/* @embed */<br />
url('skins/Vector/images/tab-break.png');<br />
background-position:bottom left;<br />
background-repeat:no-repeat;<br />
padding-left:1px<br />
}<br />
div.vectorTabs ul{<br />
float:left;<br />
height:100%;<br />
list-style-type:none;<br />
list-style-image:none;<br />
margin:0;<br />
padding:0;<br />
background-image:<br />
/* @embed */<br />
url('skins/Vector/images/tab-break.png');<br />
background-position:right bottom;<br />
background-repeat:no-repeat<br />
}<br />
div.vectorTabs ul li{<br />
float:left;<br />
line-height:1.125em;<br />
display:inline-block;<br />
height:100%;<br />
margin:0;<br />
padding:0;<br />
background-color:#f3f3f3;<br />
background-image:<br />
/* @embed */<br />
url('skins/Vector/images/tab-normal-fade.png');<br />
background-position:bottom left;<br />
background-repeat:repeat-x;<br />
white-space:nowrap<br />
}<br />
div.vectorTabs ul>li{<br />
display:block<br />
}<br />
div.vectorTabs li.new a,div.vectorTabs li.new a:visited{<br />
color:#a55858<br />
}<br />
div.vectorTabs li.selected{<br />
background-image:<br />
/* @embed */<br />
url('skins/Vector/images/tab-current-fade.png')<br />
}<br />
div.vectorTabs li.selected a,div.vectorTabs li.selected a:visited{<br />
color:#333;<br />
text-decoration:none<br />
}<br />
div.vectorTabs li.icon a{<br />
background-position:bottom right;<br />
background-repeat:no-repeat<br />
}<br />
div.vectorTabs li a{<br />
display:inline-block;<br />
height:1.9em;<br />
padding-left:.5em;<br />
padding-right:.5em;<br />
color:#e69710;<br />
cursor:pointer;<br />
font-size:.8em<br />
}<br />
div.vectorTabs li>a{<br />
display:block<br />
}<br />
div.vectorTabs span{<br />
display:inline-block;<br />
background-image:<br />
/* @embed */<br />
url('skins/Vector/images/tab-break.png');<br />
background-position:bottom right;<br />
background-repeat:no-repeat<br />
}<br />
div.vectorTabs span a{<br />
display:inline-block;<br />
padding-top:1.25em<br />
}<br />
div.vectorTabs span>a{<br />
float:left;<br />
display:block<br />
}<br />
div.vectorMenu{<br />
direction:ltr;<br />
float:left;<br />
cursor:pointer;<br />
position:relative<br />
}<br />
body.rtl div.vectorMenu{<br />
direction:rtl<br />
}<br />
div#mw-head div.vectorMenu h3{<br />
float:left;<br />
background-image:<br />
/* @embed */<br />
url('skins/Vector/images/tab-break.png');<br />
background-repeat:no-repeat;<br />
background-position:bottom right;<br />
margin-left:-1px;<br />
font-size:1em;<br />
height:2.5em;<br />
padding-right:1px;<br />
margin-right:-1px<br />
}<br />
div.vectorMenu h3 span{<br />
display:block;<br />
font-size:.8em;<br />
padding-left:.7em;<br />
padding-top:1.375em;<br />
margin-right:20px;<br />
font-weight:normal;<br />
color:#4d4d4d<br />
}<br />
div.vectorMenu h3 a{<br />
position:absolute;<br />
top:0;<br />
right:0;<br />
width:20px;<br />
height:2.5em;<br />
background-image:url('skins/Vector/images/arrow-down-icon.png');<br />
background-image:-webkit-linear-gradient(transparent, transparent),<br />
/* @embed */<br />
url('skins/Vector/images/arrow-down-icon.svg');<br />
background-image:linear-gradient(transparent, transparent),<br />
/* @embed */<br />
url('skins/Vector/images/arrow-down-icon.svg');<br />
background-position:100% 70%;<br />
background-repeat:no-repeat;<br />
-webkit-transition:background-position 250ms;<br />
-moz-transition:background-position 250ms;<br />
-o-transition:background-position 250ms;<br />
transition:background-position 250ms<br />
}<br />
div.vectorMenu.menuForceShow h3 a{<br />
background-position:100% 100%<br />
}<br />
div.vectorMenuFocus h3 a{<br />
background-image:url('skins/Vector/images/arrow-down-focus-icon.png');<br />
background-image:-webkit-linear-gradient(transparent, transparent),<br />
/* @embed */<br />
url('skins/Vector/images/arrow-down-focus-icon.svg');<br />
background-image:linear-gradient(transparent, transparent),<br />
/* @embed */<br />
url('skins/Vector/images/arrow-down-focus-icon.svg')<br />
}<br />
div.vectorMenu div.menu{<br />
min-width:100%;<br />
position:absolute;<br />
top:2.5em;<br />
left:-1px;<br />
background-color:white;<br />
border:solid 1px silver;<br />
border-top-width:0;<br />
clear:both;<br />
text-align:left;<br />
display:none<br />
}<br />
div.vectorMenu:hover div.menu,div.vectorMenu.menuForceShow div.menu{<br />
display:block<br />
}<br />
div.vectorMenu ul{<br />
list-style-type:none;<br />
list-style-image:none;<br />
padding:0;<br />
margin:0;<br />
text-align:left<br />
}<br />
div.vectorMenu ul,x:-moz-any-link{<br />
min-width:5em<br />
}<br />
div.vectorMenu ul,x:-moz-any-link,x:default{<br />
min-width:0<br />
}<br />
div.vectorMenu li{<br />
padding:0;<br />
margin:0;<br />
text-align:left;<br />
line-height:1em<br />
}<br />
div.vectorMenu li a{<br />
display:inline-block;<br />
padding:.5em;<br />
white-space:nowrap;<br />
color:#e69710;<br />
cursor:pointer;<br />
font-size:.8em<br />
}<br />
div.vectorMenu li>a{<br />
display:block<br />
}<br />
div.vectorMenu li.selected a,div.vectorMenu li.selected a:visited{<br />
color:#333;<br />
text-decoration:none<br />
}<br />
@-webkit-keyframes rotate{<br />
from{<br />
-webkit-transform:rotate(0deg);<br />
-moz-transform:rotate(0deg);<br />
transform:rotate(0deg)<br />
}<br />
to{<br />
-webkit-transform:rotate(360deg);<br />
-moz-transform:rotate(360deg);<br />
transform:rotate(360deg)<br />
}<br />
}<br />
@-moz-keyframes rotate{<br />
from{<br />
-webkit-transform:rotate(0deg);<br />
-moz-transform:rotate(0deg);<br />
transform:rotate(0deg)<br />
}<br />
to{<br />
-webkit-transform:rotate(360deg);<br />
-moz-transform:rotate(360deg);<br />
transform:rotate(360deg)<br />
}<br />
}<br />
@-o-keyframes rotate{<br />
from{<br />
-webkit-transform:rotate(0deg);<br />
-moz-transform:rotate(0deg);<br />
transform:rotate(0deg)<br />
}<br />
to{<br />
-webkit-transform:rotate(360deg);<br />
-moz-transform:rotate(360deg);<br />
transform:rotate(360deg)<br />
}<br />
}<br />
@keyframes rotate{<br />
from{<br />
-webkit-transform:rotate(0deg);<br />
-moz-transform:rotate(0deg);<br />
transform:rotate(0deg)<br />
}<br />
to{<br />
-webkit-transform:rotate(360deg);<br />
-moz-transform:rotate(360deg);<br />
transform:rotate(360deg)<br />
}<br />
}<br />
#ca-unwatch.icon a,#ca-watch.icon a{<br />
margin:0;<br />
padding:0;<br />
display:block;<br />
width:26px;<br />
padding-top:3.1em;<br />
margin-top:0;<br />
height:0;<br />
overflow:hidden;<br />
background-position:5px 60%<br />
}<br />
#ca-unwatch.icon a{<br />
background-image:url('skins/Vector/images/unwatch-icon.png');<br />
background-image:-webkit-linear-gradient(transparent, transparent),<br />
/* @embed */<br />
url('skins/Vector/images/unwatch-icon.svg');<br />
background-image:linear-gradient(transparent, transparent),<br />
/* @embed */<br />
url('skins/Vector/images/unwatch-icon.svg')<br />
}<br />
#ca-watch.icon a{<br />
background-image:url('skins/Vector/images/watch-icon.png');<br />
background-image:-webkit-linear-gradient(transparent, transparent),<br />
/* @embed */<br />
url('skins/Vector/images/watch-icon.svg');<br />
background-image:linear-gradient(transparent, transparent),<br />
/* @embed */<br />
url('skins/Vector/images/watch-icon.svg')<br />
}<br />
#ca-unwatch.icon a:hover,#ca-unwatch.icon a:focus{<br />
background-image:url('skins/Vector/images/unwatch-icon-hl.png');<br />
background-image:-webkit-linear-gradient(transparent, transparent),<br />
/* @embed */<br />
url('skins/Vector/images/unwatch-icon-hl.svg');<br />
background-image:linear-gradient(transparent, transparent),<br />
/* @embed */<br />
url('skins/Vector/images/unwatch-icon-hl.svg')<br />
}<br />
#ca-watch.icon a:hover,#ca-watch.icon a:focus{<br />
background-image:url('skins/Vector/images/watch-icon-hl.png');<br />
background-image:-webkit-linear-gradient(transparent, transparent),<br />
/* @embed */<br />
url('skins/Vector/images/watch-icon-hl.svg');<br />
background-image:linear-gradient(transparent, transparent),<br />
/* @embed */<br />
url('skins/Vector/images/watch-icon-hl.svg')<br />
}<br />
#ca-unwatch.icon a.loading,#ca-watch.icon a.loading{<br />
background-image:url('skins/Vector/images/watch-icon-loading.png');<br />
background-image:-webkit-linear-gradient(transparent, transparent),<br />
/* @embed */<br />
url('skins/Vector/images/watch-icon-loading.svg');<br />
background-image:linear-gradient(transparent, transparent),<br />
/* @embed */<br />
url('skins/Vector/images/watch-icon-loading.svg');<br />
-webkit-animation:rotate 700ms infinite linear;<br />
-moz-animation:rotate 700ms infinite linear;<br />
-o-animation:rotate 700ms infinite linear;<br />
animation:rotate 700ms infinite linear;<br />
outline:none;<br />
cursor:default;<br />
pointer-events:none;<br />
background-position:50% 60%;<br />
-webkit-transform-origin:50% 57%;<br />
transform-origin:50% 57%<br />
}<br />
#ca-unwatch.icon a span,#ca-watch.icon a span{<br />
display:none<br />
}<br />
#mw-navigation h2{<br />
position:absolute;<br />
top:-9999px<br />
}<br />
#mw-page-base{<br />
height:5em;<br />
background-position:bottom left;<br />
background-repeat:repeat-x;<br />
background-image:url('skins/Vector/images/page-fade.png');<br />
background-color:#2a2a2a;<br />
background-image:-moz-linear-gradient(top, #333 50%, #2a2a2a 100%);<br />
background-image:-webkit-gradient(linear, left top, left bottom, color-stop(50%, #333), color-stop(100%, #2a2a2a));<br />
background-image:-webkit-linear-gradient(top, #333 50%, #2a2a2a 100%);<br />
background-image:linear-gradient(#333 50%, #2a2a2a 100%);<br />
background-color:#333<br />
}<br />
#mw-head-base{<br />
margin-top:-5em;<br />
margin-left:10em;<br />
height:5em<br />
}<br />
div#mw-head{<br />
position:absolute;<br />
top:0;<br />
right:0;<br />
width:100%<br />
}<br />
div#mw-head h3{<br />
margin:0;<br />
padding:0<br />
}<br />
#left-navigation{<br />
float:left;<br />
margin-left:10em;<br />
margin-top:2.5em;<br />
margin-bottom:-2.5em;<br />
display:inline<br />
}<br />
#right-navigation{<br />
float:right;<br />
margin-top:2.5em<br />
}<br />
#p-logo{<br />
position:absolute;<br />
top:-160px;<br />
left:0;<br />
width:10em;<br />
height:160px<br />
}<br />
#p-logo a{<br />
display:block;<br />
width:10em;<br />
height:160px;<br />
background-repeat:no-repeat;<br />
background-position:center center;<br />
text-decoration:none<br />
}<br />
div#mw-panel{<br />
font-size:inherit;<br />
position:absolute;<br />
top:160px;<br />
padding-top:1em;<br />
width:10em;<br />
left:0<br />
}<br />
div#mw-panel div.portal{<br />
margin:0 .6em 0 .7em;<br />
padding:.25em 0;<br />
direction:ltr;<br />
background-position:top left;<br />
background-repeat:no-repeat;<br />
background-image:<br />
/* @embed */<br />
url('skins/Vector/images/portal-break.png')<br />
}<br />
div#mw-panel div.portal h3{<br />
font-size:.75em;<br />
color:#4d4d4d;<br />
font-weight:normal;<br />
margin:0;<br />
padding:.25em 0 .25em .25em;<br />
cursor:default;<br />
border:none<br />
}<br />
div#mw-panel div.portal div.body{<br />
margin:0 0 0 1.25em;<br />
padding-top:0<br />
}<br />
div#mw-panel div.portal div.body ul{<br />
list-style-type:none;<br />
list-style-image:none;<br />
margin:0;<br />
padding:0<br />
}<br />
div#mw-panel div.portal div.body ul li{<br />
line-height:1.125em;<br />
margin:0;<br />
padding:.25em 0;<br />
font-size:.75em;<br />
word-wrap:break-word<br />
}<br />
div#mw-panel div.portal div.body ul li a{<br />
color:#e69710<br />
}<br />
div#mw-panel div.portal div.body ul li a:visited{<br />
color:#8a7f6c<br />
}<br />
div#mw-panel div.portal.first{<br />
background-image:none;<br />
margin-top:0<br />
}<br />
div#mw-panel div.portal.first h3{<br />
display:none<br />
}<br />
div#mw-panel div.portal.first div.body{<br />
margin-left:.5em<br />
}<br />
div#footer{<br />
margin-left:10em;<br />
margin-top:0;<br />
padding:.75em;<br />
direction:ltr<br />
}<br />
div#footer ul{<br />
list-style-type:none;<br />
list-style-image:none;<br />
margin:0;<br />
padding:0<br />
}<br />
div#footer ul li{<br />
margin:0;<br />
padding:0;<br />
padding-top:.5em;<br />
padding-bottom:.5em;<br />
color:#333;<br />
font-size:.7em<br />
}<br />
#footer #footer-icons{<br />
float:right<br />
}<br />
#footer #footer-icons li{<br />
float:left;<br />
margin-left:.5em;<br />
line-height:2em;<br />
text-align:right<br />
}<br />
#footer #footer-info li{<br />
line-height:1.4em<br />
}<br />
#footer #footer-places li{<br />
float:left;<br />
margin-right:1em;<br />
line-height:2em<br />
}<br />
.ltr #footer #footer-places{<br />
float:left<br />
}<br />
.mw-body .external{<br />
background-position:center right;<br />
background-repeat:no-repeat;<br />
background-image:url('skins/Vector/images/external-link-ltr-icon.png');<br />
background-image:-webkit-linear-gradient(transparent, transparent),<br />
/* @embed */<br />
url('skins/Vector/images/external-link-ltr-icon.svg');<br />
background-image:linear-gradient(transparent, transparent),<br />
/* @embed */<br />
url('skins/Vector/images/external-link-ltr-icon.svg');<br />
padding-right:13px<br />
}</div>Meskarunehttps://wiki.archlinux.org/index.php?title=User:Meskarune/vector-2022.css&diff=739563User:Meskarune/vector-2022.css2022-07-30T13:45:37Z<p>Meskarune: grey background on page sidebar hopefully</p>
<hr />
<div>html, body, #content, .mw-page-container {<br />
background: #333333;<br />
color: #cccccc;<br />
}<br />
.skin-vector.skin--responsive .mw-page-container {<br />
background-color: #333333;<br />
}</div>Meskarunehttps://wiki.archlinux.org/index.php?title=User:Meskarune/vector-2022.css&diff=739562User:Meskarune/vector-2022.css2022-07-30T13:42:45Z<p>Meskarune: dark mode</p>
<hr />
<div>html, body, #content, .mw-page-container {<br />
background: #333333;<br />
color: #cccccc;<br />
}</div>Meskarunehttps://wiki.archlinux.org/index.php?title=User:Meskarune/vector-2022.css&diff=739561User:Meskarune/vector-2022.css2022-07-30T13:38:25Z<p>Meskarune: </p>
<hr />
<div>html, body, #content {<br />
background: #333333;<br />
color: #cccccc;<br />
}</div>Meskarunehttps://wiki.archlinux.org/index.php?title=User:Meskarune/vector-2022.css&diff=739554User:Meskarune/vector-2022.css2022-07-30T11:54:42Z<p>Meskarune: Created page with "html, body { background: #333333; color: #cccccc; }"</p>
<hr />
<div>html, body {<br />
background: #333333;<br />
color: #cccccc;<br />
}</div>Meskarunehttps://wiki.archlinux.org/index.php?title=Arch_IRC_channels&diff=672029Arch IRC channels2021-05-20T09:03:50Z<p>Meskarune: Added more accurate description for the arch linux women channel</p>
<hr />
<div>[[Category:Internet Relay Chat]]<br />
[[Category:Arch community]]<br />
[[bs:Arch IRC channels]]<br />
[[es:Arch IRC channels]]<br />
[[fr:IRC]]<br />
[[ja:IRC チャンネル]]<br />
[[lt:Arch IRC channels]]<br />
[[pt:Arch IRC channels]]<br />
[[sr:Arch IRC channels]]<br />
[[zh-hans:Arch IRC channels]]<br />
{{Related articles start}}<br />
{{Related|ArchWiki:IRC}}<br />
{{Related|International communities}}<br />
{{Related|phrik}}<br />
{{Related articles end}}<br />
<br />
{{Note|Do not edit this page unless you are a channel op in #archlinux. You are welcome to use the discussion page.}}<br />
<br />
To use [[wikipedia:Internet Relay Chat|Internet Relay Chat]] (IRC), you need an [[IRC client]]. The [[Installation guide|installation live environment]] includes the [[Irssi]] client.<br />
<br />
You are expected to familiarize yourself with our [[Code of conduct]] and [[Code of conduct#irc]] before joining any of the official channels. For a list of commonly used abbreviations, see [[Arch terminology]] and [http://www.ircbeginner.com/ircinfo/abbreviations.html IRC Jargon].<br />
<br />
== Main channels ==<br />
<br />
{{Note|Due to abuse, various gateways and web clients may be banned at times. If you experience trouble use a "''proper''" IRC client or ask one of the operators for a ban exemption ({{ic|+e}}).}}<br />
<br />
This section is about [ircs://chat.freenode.net/archlinux #archlinux], the main Arch Linux support [[wikipedia:Internet Relay Chat|IRC]] channel, and [ircs://chat.freenode.net/archlinux-offtopic #archlinux-offtopic], the main Arch Linux social channel, both available on the [https://freenode.net/ Freenode] network.<br />
<br />
The central topic for '''#archlinux''' is support and general discussion about Arch Linux.<br />
<br />
=== Registration ===<br />
<br />
In order to reduce spam, '''#archlinux''' and '''#archlinux-offtopic''' have the channel mode set to {{ic|+r}} and {{ic|+q $~a}}. This means you have to be identified via {{ic|NickServ}} to be able to join these channels and send messages, respectively. If you are not registered and identified, you will be forwarded to '''#archlinux-unregistered'''.<br />
<br />
To register with NickServ, follow the [https://freenode.net/kb/answer/registration freenode FAQ], as well as {{ic|NickServ help}} when connected to ''chat.freenode.net'':<br />
<br />
/query NickServ HELP REGISTER<br />
/query NickServ HELP IDENTIFY<br />
<br />
{{Note|<br />
* If {{ic|/query}} happens to not work in your client, you can try using either {{ic|/quote NickServ <command>}} or {{ic|/msg NickServ <command>}}.<br />
* Some IRC clients have a race-condition where they try to autojoin channels before you have been identified with NickServ. You need to enable SASL to solve this. Either look up your IRC client's documentation or look at the freenode [https://freenode.net/kb/answer/sasl SASL page] to find instructions for how to enable it.<br />
* You can get a list of people who can help you by typing {{ic|/msg ChanServ ACCESS #archlinux LIST}}, or join '''#freenode''' and ask there.<br />
}}<br />
<br />
=== Channel operators ===<br />
<br />
Arch operators are ops in both '''#archlinux''' and '''#archlinux-offtopic'''. See the list below, or run {{ic|/msg phrik listops}} on freenode.<br />
<br />
If you for some reason need the help of an op, do not be shy to {{ic|/query}} or {{ic|/msg}} us. Here is the list of ops as of 18 Dec 2019:<br />
<br />
* alad<br />
* amcrae<br />
* falconindy<br />
* gehidore / man<br />
* grawity<br />
* heftig<br />
* jelle<br />
* MrElendig / Mion<br />
* Namarrgon<br />
* tigrmesh / tigr<br />
* wonder / ioni<br />
<br />
=== Freenode group contacts ===<br />
<br />
Group contacts administer who gets {{ic|archlinux/*}} hostmasks on the network, along with administer the '''#archlinux-*''' namespace on the Freenode network. Please note only official member of the team gets these hostmasks.<br />
<br />
* wonder / ioni<br />
* fukawi2<br />
* anthraxx<br />
<br />
== Other channels ==<br />
<br />
The size of our community led to the creation of multiple IRC channels. To get a list of all channels on '''[ircs://chat.freenode.net chat.freenode.net]''' that contain {{ic|archlinux}} in their name, use the command {{ic|/query alis list *archlinux*}}.<br />
<br />
{| class="wikitable sortable"<br />
! scope="col" width="180px" | Channel<br />
! scope="col" width="500px" | Topic<br />
|-<br />
| [ircs://chat.freenode.net/archlinux-aur #archlinux-aur]<br />
| [[AUR]] general discussion<br />
|-<br />
| [ircs://chat.freenode.net/archlinux-aurweb #archlinux-aurweb]<br />
| [https://gitlab.archlinux.org/archlinux/aurweb aurweb] development discussion<br />
|-<br />
| [ircs://chat.freenode.net/archlinux-bugs #archlinux-bugs]<br />
| Bug-centric discussion<br />
|-<br />
| [ircs://chat.freenode.net/archlinux-classroom #archlinux-classroom]<br />
| A project that develops and hosts classes for the Arch Linux community<br />
|-<br />
| [ircs://chat.freenode.net/archlinux-classroom #archlinux-conf]<br />
| ArchConf organization and discussion<br />
|-<br />
| [ircs://chat.freenode.net/archlinux-devops #archlinux-devops]<br />
| Arch Linux internal infrastructure and devops discussions<br />
|-<br />
| [ircs://chat.freenode.net/archlinux-multilib #archlinux-multilib]<br />
| Arch Linux Multilib Project discussion and packaging<br />
|-<br />
| [ircs://chat.freenode.net/archlinux-newbie #archlinux-newbie]<br />
| A space to learn, try new things, and ask for help without fear of ridicule<br />
|-<br />
| [ircs://chat.freenode.net/archlinux-pacman #archlinux-pacman]<br />
| [[Pacman]] development and discussion<br />
|-<br />
| [ircs://chat.freenode.net/archlinux-proaudio #archlinux-proaudio]<br />
| Discussion of [[Professional audio|Arch Linux Pro Audio]]. Users are also in the unofficial #archaudio.<br />
|-<br />
| [ircs://chat.freenode.net/archlinux-projects #archlinux-projects]<br />
| Projects development and discussion (mkinitcpio, abs, dbscripts, devtools…)<br />
|-<br />
| [ircs://chat.freenode.net/archlinux-releng #archlinux-releng]<br />
| Arch Linux Release Engineering ([[archiso]]) discussion<br />
|-<br />
| [ircs://chat.freenode.net/archlinux-reproducible #archlinux-reproducible]<br />
| Discussion channel for achieving reproducible builds<br />
|-<br />
| [ircs://chat.freenode.net/archlinux-security #archlinux-security]<br />
| Discussion of security issues within Arch packages<br />
|-<br />
| [ircs://chat.freenode.net/archlinux-testing #archlinux-testing]<br />
| Discussion channel regarding the testing repositories<br />
|-<br />
| [ircs://chat.freenode.net/archlinux-wiki #archlinux-wiki]<br />
| Discussion about [[ArchWiki]], its articles and the [https://bbs.archlinux.org/ Arch Linux Forums]<br />
|-<br />
| [ircs://chat.freenode.net/archlinux-women #archlinux-women]<br />
| Project discussion for programs/events to encourage women to contribute to Arch Linux and provide space for women to socialize and meet each other. Mostly in English.<br />
|}<br />
<br />
=== International IRC channels ===<br />
<br />
International discussions are available at the following channels, also located at the '''[ircs://chat.freenode.net chat.freenode.net]''' IRC network, unless stated otherwise.<br />
<br />
{| class="wikitable sortable"<br />
! scope="col" width="180px" | Channel<br />
! scope="col" width="500px" | Community<br />
|-<br />
| [ircs://chat.freenode.net/archlinux-br #archlinux-br]<br />
| Brazilian<br />
|-<br />
| [ircs://chat.freenode.net/archlinux-cn #archlinux-cn]<br />
| Chinese; also on [ircs://irc.oftc.net/arch-cn irc.oftc.net#arch-cn]<br />
|-<br />
| [ircs://chat.freenode.net/archlinux-co #archlinux-co]<br />
| Colombian<br />
|-<br />
| [ircs://chat.freenode.net/archlinux.cz #archlinux.cz]<br />
| Czech<br />
|-<br />
| [ircs://chat.freenode.net/archlinux.de #archlinux.de]<br />
| German<br />
|-<br />
| [ircs://chat.freenode.net/archlinux.dk #archlinux.dk]<br />
| Danish<br />
|-<br />
| [ircs://chat.freenode.net/archlinux-es #archlinux-es]<br />
| Spanish<br />
|-<br />
| [ircs://chat.freenode.net/archlinux.fi #archlinux.fi]<br />
| Finnish<br />
|-<br />
| [ircs://chat.freenode.net/archlinux-fr #archlinux-fr]<br />
| French<br />
|-<br />
| [ircs://chat.freenode.net/archlinux-greece #archlinux-greece]<br />
| Greek<br />
|-<br />
| [ircs://chat.freenode.net/archlinux.hu #archlinux.hu]<br />
| Hungarian<br />
|-<br />
| [ircs://chat.freenode.net/archlinux-it #archlinux-it]<br />
| Italian; also on [irc://irc.azzurra.org/archlinux irc.azzurra.org#archlinux]<br />
|-<br />
| [ircs://chat.freenode.net/archlinux-mx #archlinux-mx]<br />
| Mexican<br />
|-<br />
| [ircs://chat.freenode.net/archlinux-nordics #archlinux-nordics]<br />
| The Nordics: Danish, Finnish, Norwegian and Swedish<br />
|-<br />
| [ircs://chat.freenode.net/archlinux-pl #archlinux-pl]<br />
| Polish<br />
|-<br />
| [ircs://chat.freenode.net/archlinux-pt #archlinux-pt]<br />
| Portuguese<br />
|-<br />
| [ircs://chat.freenode.net/archlinux.ro #archlinux.ro]<br />
| Romanian<br />
|-<br />
| [ircs://chat.freenode.net/archlinux-rs #archlinux-rs]<br />
| Serbian<br />
|-<br />
| [ircs://chat.freenode.net/archlinux-ru #archlinux-ru]<br />
| Russian; also on [irc://irc.mibbit.net/archlinux-ru irc.mibbit.net#archlinux-ru]<br />
|-<br />
| [ircs://chat.freenode.net/archlinux.se #archlinux.se]<br />
| Swedish<br />
|-<br />
| [ircs://chat.freenode.net/archlinux-tg #archlinux-tg]<br />
| Russian<br />
|-<br />
| [ircs://chat.freenode.net/archlinux-tr #archlinux-tr]<br />
| Turkish<br />
|-<br />
| [ircs://chat.freenode.net/archlinux-ua #archlinux-ua]<br />
| Ukrainian<br />
|-<br />
| [ircs://chat.freenode.net/archlinuxvn #archlinuxvn]<br />
| Vietnamese<br />
|}</div>Meskarunehttps://wiki.archlinux.org/index.php?title=User:Meskarune/irc&diff=634414User:Meskarune/irc2020-09-05T14:39:22Z<p>Meskarune: title to link</p>
<hr />
<div>Op yourself: '''/msg ChanServ op #channel nick'''<br />
<br />
Ban using hostmask: '''/msg ChanServ ban #channel nick!ident@*.host.com'''<br />
<br />
Mute with nick: '''/mode #channel +q nick!*@*'''<br />
<br />
Mute with account: '''/mode #archlinux-offtopic +q $a:nick'''<br />
<br />
Ban forward with account: '''$a:nick$#fix_your_connection'''<br />
<br />
Ban forward with hostmask: '''/mode #freenode +b *!*@unaffiliated/example$##fix_your_connection'''<br />
<br />
Ban exempt (for eg. tor ban): '''/mode #channel +e $a:nick'''<br />
<br />
Join ##fix_your_connection and check every now and then whether it has been fixed, then it can be removed.<br />
<br />
<br />
[[http://wiki.swiftirc.net/index.php?title=Chanserv#Access Chanserv Access List]]<br />
<br />
[[https://meta.wikimedia.org/wiki/IRC/Instructions Wikipedia IRC docs]]</div>Meskarunehttps://wiki.archlinux.org/index.php?title=User:Meskarune/irc&diff=634413User:Meskarune/irc2020-09-05T14:38:26Z<p>Meskarune: added link</p>
<hr />
<div>Op yourself: '''/msg ChanServ op #channel nick'''<br />
<br />
Ban using hostmask: '''/msg ChanServ ban #channel nick!ident@*.host.com'''<br />
<br />
Mute with nick: '''/mode #channel +q nick!*@*'''<br />
<br />
Mute with account: '''/mode #archlinux-offtopic +q $a:nick'''<br />
<br />
Ban forward with account: '''$a:nick$#fix_your_connection'''<br />
<br />
Ban forward with hostmask: '''/mode #freenode +b *!*@unaffiliated/example$##fix_your_connection'''<br />
<br />
Ban exempt (for eg. tor ban): '''/mode #channel +e $a:nick'''<br />
<br />
Join ##fix_your_connection and check every now and then whether it has been fixed, then it can be removed.<br />
<br />
<br />
[[http://wiki.swiftirc.net/index.php?title=Chanserv#Access Chanserv Access List]]<br />
<br />
[[https://meta.wikimedia.org/wiki/IRC/Instructions]]</div>Meskarunehttps://wiki.archlinux.org/index.php?title=User:Meskarune&diff=633586User:Meskarune2020-08-27T15:46:32Z<p>Meskarune: /* Dolores Portalatin */</p>
<hr />
<div>Languages:<br />
* English (native)<br />
* Japanese (intermediate)<br />
* Korean (beginner)<br />
* Mandarin (beginner)<br />
<br />
<br />
== About ==<br />
===Dolores Portalatin===<br />
<br />
I started using Linux in 1998 and have been using Arch since 2007. I founded the [//archwomen.org Arch Linux Women] project and helped start up Arch Linux [[Classroom]]. I can generally be found on social media under the nick "meskarune".<br />
<br />
===Contact===<br />
I don't check email as often as my messaging accounts, so you may have better luck sending me an instant message or PM on irc.<br />
<br />
====Messaging====<br />
{| class="wikitable"<br />
! style="font-weight: bold;" | Service<br />
! style="font-weight: bold;" | Nick/ID<br />
|-<br />
| Tox Laptop ID<br />
| E95790987081BEE5B5F7D050545EE53D90BB92EFDFB51BB93A50E8A5F4ECD24790B0B25C7385<br />
|-<br />
| xxmp/jabber<br />
| meskarune@riseup.net<br />
|-<br />
| irc.freenode.net<br />
| meskarune/lola/Wonder_Woman<br />
|}<br />
<br />
====Email====<br />
admin @ doloresportalatin.info<br />
<br />
meskarune @ archwomen.org<br />
<br />
==Arch Accounts==<br />
* [https://aur.archlinux.org/packages/?SeB=m&K=meskarune AUR]<br />
* [https://bugs.archlinux.org/user/12489 Bugs]<br />
* [https://bbs.archlinux.org/profile.php?id=24164 Forums]<br />
<br />
==Subpages==<br />
{{Special:PrefixIndex/User:Meskarune/}}<br />
<br />
==Useful Links==<br />
<br />
* [[ArchWiki:Contributing| Contributing]]<br />
* [[User:Alad/IRC|Alad IRC]]<br />
* [[Talk:Beginners'_guide#Plan|Beginner's Guide Plan]]<br />
* [[DeveloperWiki:TrademarkPolicy]]<br />
* [[Keyboard_shortcuts|Keyboard Shortcuts]]<br />
<br/><hr><br />
{{META Box|[[Wikipedia:Template:User_committed_identity|Commited identity:]]|331b505e561b3d4e1a0e95659b5349b594bba994dcee6329580a5fe55dd183ac909873b89334b7019cf92389aef8a3bb12c1e6d90d6ebba46bae1463267df171|SHA-512}}</div>Meskarunehttps://wiki.archlinux.org/index.php?title=User:Meskarune&diff=633585User:Meskarune2020-08-27T15:44:48Z<p>Meskarune: /* Messaging */</p>
<hr />
<div>Languages:<br />
* English (native)<br />
* Japanese (intermediate)<br />
* Korean (beginner)<br />
* Mandarin (beginner)<br />
<br />
<br />
== About ==<br />
===Dolores Portalatin===<br />
<br />
I started using Linux in 1998 and have been using Arch since 2007. I founded the [//archwomen.org Arch Linux Women] project and helped start up Arch Linux [[Classroom]]. I am interested in web development, perl, ruby, python, css3 and graphic design.<br />
<br />
===Contact===<br />
I don't check email as often as my messaging accounts, so you may have better luck sending me an instant message or PM on irc.<br />
<br />
====Messaging====<br />
{| class="wikitable"<br />
! style="font-weight: bold;" | Service<br />
! style="font-weight: bold;" | Nick/ID<br />
|-<br />
| Tox Laptop ID<br />
| E95790987081BEE5B5F7D050545EE53D90BB92EFDFB51BB93A50E8A5F4ECD24790B0B25C7385<br />
|-<br />
| xxmp/jabber<br />
| meskarune@riseup.net<br />
|-<br />
| irc.freenode.net<br />
| meskarune/lola/Wonder_Woman<br />
|}<br />
<br />
====Email====<br />
admin @ doloresportalatin.info<br />
<br />
meskarune @ archwomen.org<br />
<br />
==Arch Accounts==<br />
* [https://aur.archlinux.org/packages/?SeB=m&K=meskarune AUR]<br />
* [https://bugs.archlinux.org/user/12489 Bugs]<br />
* [https://bbs.archlinux.org/profile.php?id=24164 Forums]<br />
<br />
==Subpages==<br />
{{Special:PrefixIndex/User:Meskarune/}}<br />
<br />
==Useful Links==<br />
<br />
* [[ArchWiki:Contributing| Contributing]]<br />
* [[User:Alad/IRC|Alad IRC]]<br />
* [[Talk:Beginners'_guide#Plan|Beginner's Guide Plan]]<br />
* [[DeveloperWiki:TrademarkPolicy]]<br />
* [[Keyboard_shortcuts|Keyboard Shortcuts]]<br />
<br/><hr><br />
{{META Box|[[Wikipedia:Template:User_committed_identity|Commited identity:]]|331b505e561b3d4e1a0e95659b5349b594bba994dcee6329580a5fe55dd183ac909873b89334b7019cf92389aef8a3bb12c1e6d90d6ebba46bae1463267df171|SHA-512}}</div>Meskarunehttps://wiki.archlinux.org/index.php?title=User:Meskarune&diff=633584User:Meskarune2020-08-27T15:42:43Z<p>Meskarune: /* Messaging */</p>
<hr />
<div>Languages:<br />
* English (native)<br />
* Japanese (intermediate)<br />
* Korean (beginner)<br />
* Mandarin (beginner)<br />
<br />
<br />
== About ==<br />
===Dolores Portalatin===<br />
<br />
I started using Linux in 1998 and have been using Arch since 2007. I founded the [//archwomen.org Arch Linux Women] project and helped start up Arch Linux [[Classroom]]. I am interested in web development, perl, ruby, python, css3 and graphic design.<br />
<br />
===Contact===<br />
I don't check email as often as my messaging accounts, so you may have better luck sending me an instant message or PM on irc.<br />
<br />
====Messaging====<br />
{| class="wikitable"<br />
! style="font-weight: bold;" | Service<br />
! style="font-weight: bold;" | Nick/ID<br />
|-<br />
| Tox Laptop ID<br />
| 0F2724377E4DAA16EF7DE64545C1842985C475069D6ED215EC611FB347F6517318F678F60D75<br />
|-<br />
| Tox Mobile ID<br />
| 27F26643D1B071F9FB547A3D122EED39A516F02C6BE327F2D9FFD33E0B77F8130B2A70140436<br />
|-<br />
| xxmp/jabber<br />
| meskarune@riseup.net<br />
|-<br />
| irc.freenode.net<br />
| meskarune/lola/Wonder_Woman<br />
|}<br />
<br />
====Email====<br />
admin @ doloresportalatin.info<br />
<br />
meskarune @ archwomen.org<br />
<br />
==Arch Accounts==<br />
* [https://aur.archlinux.org/packages/?SeB=m&K=meskarune AUR]<br />
* [https://bugs.archlinux.org/user/12489 Bugs]<br />
* [https://bbs.archlinux.org/profile.php?id=24164 Forums]<br />
<br />
==Subpages==<br />
{{Special:PrefixIndex/User:Meskarune/}}<br />
<br />
==Useful Links==<br />
<br />
* [[ArchWiki:Contributing| Contributing]]<br />
* [[User:Alad/IRC|Alad IRC]]<br />
* [[Talk:Beginners'_guide#Plan|Beginner's Guide Plan]]<br />
* [[DeveloperWiki:TrademarkPolicy]]<br />
* [[Keyboard_shortcuts|Keyboard Shortcuts]]<br />
<br/><hr><br />
{{META Box|[[Wikipedia:Template:User_committed_identity|Commited identity:]]|331b505e561b3d4e1a0e95659b5349b594bba994dcee6329580a5fe55dd183ac909873b89334b7019cf92389aef8a3bb12c1e6d90d6ebba46bae1463267df171|SHA-512}}</div>Meskarunehttps://wiki.archlinux.org/index.php?title=Accessibility&diff=633582Accessibility2020-08-27T14:16:19Z<p>Meskarune: /* See also */ added link to gnome accessibility info to the see also section</p>
<hr />
<div>[[Category:Accessibility]]<br />
[[ja:アクセシビリティ]]<br />
[[pt:Accessibility]]<br />
{{Related articles start}}<br />
{{Related|TalkingArch}}<br />
{{Related articles end}}<br />
There are many different methods of providing accessibility to users that have a physical or visual handicap. However, unless a [[desktop environment]] is used, the configuration might require some tinkering until one gets it right.<br />
<br />
== Desktop environments ==<br />
<br />
Most modern desktop environments ship with an extensive set of features, among which one can find a tool to configure the accessibility options with. Generally, these options can be found listed under those of 'accessibility', or under those of the corresponding input device (e.g. 'keyboard' and 'mouse'). For example, with [https://help.gnome.org/users/gnome-help/stable/a11y.html.en GNOME] and [https://userbase.kde.org/Applications/Accessibility KDE].<br />
<br />
{{Note|When using the configuration tools of a desktop environment, be aware of possible conflicts with settings of desktop-environment-independent tools.}}<br />
<br />
== Independent to specific desktop environments ==<br />
<br />
The [[Xorg]] server has features (accessx) for physical assistance by setting parameters via the [[X keyboard extension]]. This section covers examples.<br />
<br />
For speech recognition, see also [[Text to speech]].<br />
<br />
=== Operating the keyboard ===<br />
<br />
For Braille, see [[Arch Linux for the blind]].<br />
<br />
==== Sticky keys with systemd ====<br />
<br />
In order to enable Sticky Keys in a TTY, you require to know the exact keycodes of the keys to be used. These can be found by a tool like {{Pkg|xorg-xev}} or {{Pkg|xkeycaps}}. Alternatively, you can inspect the output of ''dumpkeys'', provided that the current keymap is correct.<br />
<br />
For example, a Logitech Ultra-X will provide the following keycodes for the modifier keys:<br />
LCtrl = 29<br />
LShift = 42<br />
LAlt = 56<br />
RShift = 54<br />
RCtrl = 97<br />
<br />
Next, use ''dumpkeys'' to determine the range of the keycodes:<br />
# dumpkeys | head -1<br />
keymaps 0-63<br />
<br />
Continue by creating a new file with a suitable name, e.g. "stickyKeys", and use your favourite editor to combine the previously-found information with the desired key function.<br />
<br />
In case of the keycodes found earlier, you would get:<br />
keymaps 0-63<br />
keycode 29 = SCtrl<br />
keycode 42 = SShift<br />
keycode 56 = SAlt<br />
keycode 54 = SShift<br />
keycode 97 = SCtrl<br />
<br />
Here, the letter "S" in front of a modifier key denotes that we want the sticky version of that key.<br />
<br />
{{Note|The following step will change your key mapping in all TTYs. Ensure the correctness of your keycodes, or you might lose the ability to use certain important keys.}}<br />
<br />
Load your new mapping by running the following command:<br />
# loadkeys ./stickyKeys<br />
<br />
If you are satisfied by the results, then move the file to a suitable directory. To have it [[enable]]d on boot, see the following systemd unit: <br />
{{hc|/etc/systemd/system/loadkeys.service|2=<br />
[Unit]<br />
Description="load custom keymap (sticky keys)"<br />
<br />
[Service]<br />
Type=oneshot<br />
ExecStart=/usr/bin/loadkeys /path/to/stickyKeys<br />
StandardInput=tty<br />
RemainAfterExit=yes<br />
<br />
[Install]<br />
WantedBy=multi-user.target emergency.target rescue.target}}<br />
<br />
==== Sticky keys with xserverrc ====<br />
<br />
One method of enabling desktop environment-independent accessibility function is by passing it through X, given that it is build with XKB support. This can be done by setting parameters for the X server, as specified in its man page:<br />
[+-]accessx [ timeout [ timeout_mask [ feedback [ options_mask ] ] ] ]<br />
enables(+) or disables(-) AccessX key sequences (Sticky Keys).<br />
<br />
-ardelay milliseconds<br />
sets the autorepeat delay (length of time in milliseconds that<br />
a key must be depressed before autorepeat starts).<br />
<br />
-arinterval milliseconds<br />
sets the autorepeat interval (length of time in milliseconds<br />
that should elapse between autorepeat-generated keystrokes).<br />
<br />
These parameters must be placed in the file {{ic|~/.xserverrc}}, which you may need to create.<br />
<br />
For example, to enable Sticky Keys without timeout and without audible or visible feedback, the following can be used:<br />
if [ -z "$XDG_VTNR" ]; then<br />
exec /usr/bin/X -nolisten tcp "$@" +accessx 0 0x1e 0 0xcef<br />
else<br />
exec /usr/bin/X -nolisten tcp "$@" vt$XDG_VTNR +accessx 0 0x1e 0 0xcef<br />
fi<br />
<br />
Note that once X has started, e.g. by executing {{ic|startx}}, it still requires you to press the shift key 5 times to enable Sticky Keys. Unfortunately, this is needed each time X starts. Alternatively, a script can be used to automate this process.<br />
<br />
Similar to most implementations, Sticky Keys can be disabled by pressing a modifier key and any other key at the same time.<br />
<br />
=== Operating the mouse ===<br />
<br />
==== Button mapping ====<br />
<br />
By using ''xmodmap'', you can map functions to mouse buttons independent of your graphical environment. For this, you need to know which physical button on your mouse is read as which number, which can be found by a tool such as {{Pkg|xorg-xev}}. Generally, the physical buttons of left, middle, and right are read as the first, second, and third button, respectively. <br />
<br />
Once you have acquired these, continue by creating a configuration file on a suitable location, e.g. {{ic|~/.mouseconfig}}. Next, open the file with your favourite editor, and write the keyword {{ic|1=pointer = }} followed by an enumeration of the previously-found number of mouse buttons.<br />
<br />
For example, a three button mouse with a scroll wheel is able to provide five physical actions: left, middle, and right click, as well as scroll up and scroll down. This can be mapped to the same functions by using the following line in the configuration file:<br />
pointer = 1 2 3 4 5<br />
<br />
Here, the location will tell the action required to perform an internal mouse-button function. For example, a mapping for left-handed people (left- and right button switched) might look like<br />
pointer = 3 2 1 4 5<br />
<br />
When you are done, you can test and inspect your mapping by running {{ic|xmodmap}}:<br />
$ xmodmap ~/.mouseconfig<br />
$ xmodmap -pp<br />
<br />
Once satisfied, you can enable it on start by placing the first line in {{ic|~/.xinitrc}}.<br />
<br />
==== Mouse keys ====<br />
<br />
[[Wikipedia:Mouse keys|Mouse keys]] is a Xorg feature (like StickyKeys) to use the keyboard (especially a numeric keypad) as a pointing device. It can replace a mouse, or work beside it. It is disabled by default. You can use<br />
<br />
$ xset q | grep "Mouse Keys"<br />
<br />
to see status. To enable it for a session:<br />
<br />
$ setxkbmap -option keypad:pointerkeys<br />
<br />
If you use a [[xmodmap]] configuration, be aware ''setxkbmap'' resets it. <br />
<br />
{{Tip|Some third-party keyboard layouts, for example the [https://wiki.neo-layout.org German Neo layout], may use different ways to activate mouse keys.}}<br />
<br />
To enable Mouse keys permanently, add<br />
<br />
Option "XkbOptions" "keypad:pointerkeys" <br />
<br />
to the keyboard configuration file. This will make the {{ic|Shift+NumLock}} shortcut toggle mouse keys.<br />
<br />
For more see [[Keyboard configuration in Xorg#Using X configuration files]] and [[X keyboard extension#Mouse control]] for advanced configuration.<br />
<br />
=== Visual assistance ===<br />
<br />
As with physical assistance, most modern desktop environments ship with an extensive set of features to tweak the visual aspects of your system. Generally, these options can be found listed under those of 'accessibility' or 'visual assistance'. Alternatively, useful options might be found in the settings of the individual applications.<br />
<br />
==== Speech recognition ====<br />
<br />
See [[Speech recognition]].<br />
<br />
==== Console and Virtual Terminal Emulators ====<br />
<br />
* Edit {{ic|/etc/vconsole.conf}}.<br />
* Edit {{ic|~/.Xresources}}.<br />
<br />
== Known issues ==<br />
<br />
* Configuration of input devices is not recognized by software that circumvents the software layer, e.g. [[wine]], [[VirtualBox]], and [[QEMU]].<br />
<br />
== See also ==<br />
<br />
* [https://userbase.kde.org/Applications/Accessibility KDE's] Advanced accessibility applications.<br />
<br />
* [https://help.gnome.org/users/gnome-help/stable/a11y.html.en Assistive technologies] for the Gnome desktop.</div>Meskarunehttps://wiki.archlinux.org/index.php?title=Talk:Accessibility&diff=633581Talk:Accessibility2020-08-27T14:12:56Z<p>Meskarune: Discussion on revamp of page</p>
<hr />
<div>== What about entirely replacing the mice with keyboard strokes equivalent, in particular in X? ==<br />
<br />
I think there should be a whole section about a way to completely give up the mice, entirely replacing it with keyboard strokes equivalent, in particular in X. It is not that I am aware of such methods. I feel there are some people that need that.<br />
<br />
There might be some hints in [[keyboard shortcuts]].<br />
<br />
[[User:Regid|Regid]] ([[User talk:Regid|talk]]) 19:46, 1 March 2017 (UTC)<br />
<br />
:I don't know a way to move the cursor with a keyboard, but I think the most effective way will always be to use programs that don't require the use of a cursor for navigation, such as [[vim]], [[qutebrowser]] etc. -- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 22:03, 1 March 2017 (UTC)<br />
<br />
::Where are you having problems that tab, (Shift/Alt+ letter) and or arrow keys don't work for navigating instead of using a mouse? --[[User:Feas|Feas]] ([[User talk:Feas|talk]]) 19:52, 2 March 2017 (UTC)<br />
<br />
:::# A way to move the mouse by keyboard strokes, at least with X, might be with xdotool. A short discussion, and examples, mentioning accessibility, is at http://tuxradar.com/content/xdotool-script-your-mouse. I am sure there are more mature tools. Surely this problem is more wide spread than for here to discuss it for the first time.<br />
:::# As for using only terminal applications, I find it problematic. There are many problems with this approach and the bottom line, at least for me, is that it is not the general way to go.<br />
:::[[User:Regid|Regid]] ([[User talk:Regid|talk]]) 00:41, 3 March 2017 (UTC)<br />
<br />
:::Are you sure such key combinations are not unique to your environment? Which environment are you using? I think such an environment is definitely worth mentioning in the page. [[User:Regid|Regid]] ([[User talk:Regid|talk]]) 00:41, 3 March 2017 (UTC)<br />
<br />
::::They have worked in any windowed environment I have ever worked in (windows/unix/linux/mac). I would ask what are you using that they don't. <br />
::::For example:<br />
::::Evolution I use "alt m" to open messages menu and then can use the arrow keys to move up/down/left/right.<br />
::::Chrome Browser using tab to jump to the next link you can select with a mouse.<br />
::::"Alt tab" will select from applications already running on the system.<br />
::::Most if not all environments have these things set by default such as: [https://help.gnome.org/users/gnome-help/stable/shell-keyboard-shortcuts.html.en]<br />
::::The keyboard shortcuts link provided already seems to cover this well just what exactly are you looking to do or think is lacking in it?<br />
::::--[[User:Feas|Feas]] ([[User talk:Feas|talk]]) 01:48, 3 March 2017 (UTC)<br />
<br />
:::::Looks like there is a built, X level, solution: [[wikipedia:MouseKeys]]. I didn't know that. [[User:Regid|Regid]] ([[User talk:Regid|talk]]) 01:56, 3 March 2017 (UTC)<br />
<br />
::::::Perhaps I misunderstood what you are trying to achieve. You want to move the actual mouse cursor with the keyboard? That was horrible. The movement would be too small so you would increase the distance traveled and over shoot what you were trying to select and have to make the movement small again. It truly is a pain. It really is much easier to use keyboard shortcuts to manage navigation. I cannot think of an instance where I would want to control the cursor without a mouse again. Why are you trying to do this or think it would useful for others? --[[User:Feas|Feas]] ([[User talk:Feas|talk]]) 02:22, 3 March 2017 (UTC)<br />
<br />
::::::: Please keep in mind the main purpose of this article is to provide help with some kind of handicap, examples well summarized in [[w:Sticky keys]], not everyone's personal efficiency or preferences to manage a desktop. Both, listing of apps which have thought-through cursor-less navigation modes, as well as tools to manage cursors without the mouse (e.g. the [[w:MouseKeys]] find, if it works) would be good additions to the article in my view. --[[User:Indigo|Indigo]] ([[User talk:Indigo|talk]]) 09:02, 3 March 2017 (UTC)<br />
<br />
:::::::: I stopped understanding what are the diffrenet tools that are discussed here. However, I do feel that Mouse Keys are targeted for accessibility. They might have other targets too, but surely accessibility is targeted by Mouse Keys. Indeed, the wikipedia entry mentions disabled user or ergonomics issues.<br />
:::::::: The way I understood [[User:Feas|Feas]], he stated that Mouse Keys are horrible. I still have to configure that. It could be that there are difficulties with the X implementation. However, I am familiar with the Microsoft implementation. Wikipedia states Microsoft enhanced the basic X implementation. I know that Microsoft implementation is of great help in terms of better accessibility.<br />
:::::::: [[User:Regid|Regid]] ([[User talk:Regid|talk]]) 09:41, 3 March 2017 (UTC)<br />
<br />
:::::::: Sorry wasn't following for a few days had other issues. The point I was trying to get across was that the mouse keys are a poor example for accessibility when there are better methods to aid those of us with use of one arm. I would compare it to including 9600 baud dial up modems under internet connectivity. Sure it exist but is it a good option? I wouldn't try to do anything to stop you or remove it from the page but really don't see it as a useful option for someone in a similar circumstance. Since this is discussion I would ask if you have enabled it and used it for a period of time and compare it to the sticky keys and the keyboard shortcuts that exist and decide which you think is a better solution to suggest for others.<br />
::::::::[[User:Feas|Feas]] ([[User talk:Feas|talk]]) 06:33, 7 March 2017 (UTC)<br />
<br />
::::::::: I can't tell for people with one arm. There are many subdivision disabilities between a person without disabilities, and a person with one arm. I haven't tried sticky keys and keyboard shortcuts. Mouse keys can also work in parallel to a real mouse. How stickey keys or keybaord shortcuts can move the pointer across the screen? Mouse Keys can move it. In a sense, the ability of Mouse Keys to move the pointer accross the screen is a sort of keybaord shortcuts. I think we discuss problems that for the most part can't be cured. There are different solutions, to help different phases. I find the fact that Mouse Keys lasts more than 40 years speaking for itself. I do hope that in the future there will be better solutions. [[User:Regid|Regid]] ([[User talk:Regid|talk]]) 16:21, 7 March 2017 (UTC)<br />
<br />
:::::::::: I tried it too now (with a keypad you get 8 move directions per default) and found it pretty usable, albeit mouse cursor movement is very slow. I did not manage to speed it up yet. One should be able to do that using one of the five [[w:Mouse keys#MouseKeysAccel]] parameters. That would be a good addition. Anyone has an idea how to do that? --[[User:Indigo|Indigo]] ([[User talk:Indigo|talk]]) 13:12, 8 March 2017 (UTC)<br />
<br />
::::::::::: As for the motion speed, {{ic|man xset}} {{ic|m}} option, which mention xinput, might be related. I haven't tried that myself. Perhaps you would like to pursue it further. [[User:Regid|Regid]] ([[User talk:Regid|talk]]) 05:47, 9 March 2017 (UTC)<br />
<br />
== Re-organizing the Page ==<br />
<br />
This page seems like it could use more work and the current way it's organized is a little jumbled. I looked at a few other accessibility pages for other distros and they organized the page either based off the type of accessibility need ie "visual impairment, deafness, mobility issues, dyslexia" or type of tooling like "mouse, keyboard, themes, window management". I think I am partial to the later but either might help organize things a bit better.<br />
<br />
I would like to add links to useful accessibility tools similar to the [[List_of_applications]]<br />
page but with a more narrow focus. I have found it hard to find accessibility tools for linux and most I heard about through accident or word of mouth.<br />
<br />
There are tools that I use that people may not think about as being accessible. For example I use autokey for text-expansion and ibus typing booster to help me with typing faster/easier and I use a low contrast gtk theme (equilux) to avoid triggering hemiplegic migraines. Low contrast themes are also useful for those with light sensitive epilepsy.<br />
<br />
[[User:Meskarune|Meskarune]] ([[User talk:Meskarune|talk]]) 14:12, 27 August 2020 (UTC)</div>Meskarunehttps://wiki.archlinux.org/index.php?title=Certbot&diff=557958Certbot2018-12-01T15:17:57Z<p>Meskarune: added link to arch wiki list of acme clients</p>
<hr />
<div>[[Category:Networking]]<br />
[[Category:Encryption]]<br />
[[Category:Commands]]<br />
[[ja:Let’s Encrypt]]<br />
[[ru:Certbot]]<br />
[https://github.com/certbot/certbot Certbot] is [https://www.eff.org/ Electronic Frontier Foundation]'s [[ACME]] client, which is written in Python and provides conveniences like automatic web server configuration and a built-in webserver for the HTTP challenge. Certbot is recommended by [https://letsencrypt.org/ Let's Encrypt].<br />
<br />
== Installation ==<br />
<br />
[[Install]] the {{Pkg|certbot}} package.<br />
<br />
Plugins are available for automated configuration and installation of the issued certificates in web servers:<br />
* The [[Nginx]] plugin can be installed with the {{Pkg|certbot-nginx}} package.<br />
* The [[Apache HTTP Server]] plugin can be installed with the {{Pkg|certbot-apache}} package.<br />
<br />
== Configuration ==<br />
<br />
Consult the [https://certbot.eff.org/docs/ Certbot documentation] for more information about creation and usage of certificates.<br />
<br />
{{Expansion|Explain what the Nginx ({{ic|# certbot --nginx}}) and Apache plugins actually do and how they modify the webserver configuration. So far this section targets only the [[#Webroot]] and [[#Manual]] ways.}}<br />
<br />
=== Plugins ===<br />
{{Warning|Configuration files may be rewritten when using a plugin. Creating a '''backup''' first is recommended.}}<br />
<br />
==== Nginx ====<br />
<br />
The plugin {{pkg|certbot-nginx}} provides an automatic configuration for [[nginx]] [[nginx#Server_blocks|server-blocks]]:<br />
<br />
# certbot --nginx<br />
<br />
To renew certificates:<br />
<br />
# certbot renew<br />
<br />
To change certificates without modifying nginx config files:<br />
<br />
# certbot --nginx certonly<br />
<br />
See [https://certbot.eff.org/#arch-nginx Nginx on Arch Linux] for more information and [[#Automatic renewal]] to keep installed certificates valid.<br />
<br />
===== Managing server blocks =====<br />
The following example may be used in each [[nginx#Server_blocks|server-blocks]] when managing these files manually:<br />
{{hc|/etc/nginx/sites-available/example|2=<br />
server {<br />
listen 443 ssl http2;<br />
listen [::]:443 ssl http2; # Listen on IPv6<br />
ssl_certificate /etc/letsencrypt/live/''domain''/fullchain.pem; # managed by Certbot<br />
ssl_certificate_key /etc/letsencrypt/live/''domain''/privkey.pem; # managed by Certbot<br />
include /etc/letsencrypt/options-ssl-nginx.conf;<br />
..<br />
} }}<br />
<br />
See [[nginx#TLS]] for more information.<br />
<br />
It's also possible to create a separated config file and include it in each server block: <br />
<br />
{{hc|/etc/nginx/conf/001-certbot.conf|2=<br />
ssl_certificate /etc/letsencrypt/live/''domain''/fullchain.pem; # managed by Certbot<br />
ssl_certificate_key /etc/letsencrypt/live/''domain''/privkey.pem; # managed by Certbot<br />
include /etc/letsencrypt/options-ssl-nginx.conf;<br />
}}<br />
<br />
{{hc|/etc/nginx/sites-available/example|<nowiki><br />
server {<br />
listen 443 ssl http2;<br />
listen [::]:443 ssl http2; # Listen on IPv6<br />
include conf/001-certbot.conf;<br />
..<br />
}<br />
</nowiki>}}<br />
<br />
=== Webroot ===<br />
{{Note|<br />
* The Webroot method requires '''HTTP on port 80''' for Certbot to validate.<br />
* The Server Name must match that of its corresponding DNS.<br />
* Permissions may need to be altered on the host to allow read-access to {{ic|http://domain.tld/.well-known}}.<br />
}}<br />
<br />
When using the webroot method the Certbot client places a challenge response inside {{ic|/path/to/domain.tld/html/.well-known/acme-challenge/}} which is used for validation.<br />
<br />
The use of this method is recommend over a manual install; it offers automatic renewal and easier certificate management. However the usage of [[#Plugins]] may be the preferred since it allows automatic configuration and installation.<br />
<br />
==== Mapping ACME-challenge requests ====<br />
<br />
{{Accuracy|In the ''webroot'' way, the {{ic|/var/lib/letsencrypt}} path is dictated by ''certbot''. Manual creation is not necessary, that applies to [[#Manual]].}}<br />
<br />
Management of can be made easier by mapping all HTTP-requests for {{ic|.well-known/acme-challenge}} to a single folder, e.g. {{ic|/var/lib/letsencrypt}}.<br />
<br />
The path has then to be writable for Cerbot and the web server (e.g. [[nginx]] or [[Apache]] running as user ''http''):<br />
# mkdir -p /var/lib/letsencrypt/.well-known<br />
# chgrp http /var/lib/letsencrypt<br />
# chmod g+s /var/lib/letsencrypt<br />
<br />
===== nginx =====<br />
<br />
Create a file containing the location block and include this inside a server block:<br />
{{hc|/etc/nginx/conf.d/letsencrypt.conf|<nowiki><br />
location ^~ /.well-known/acme-challenge/ {<br />
allow all;<br />
root /var/lib/letsencrypt/;<br />
default_type "text/plain";<br />
try_files $uri =404;<br />
}<br />
</nowiki>}}<br />
<br />
Example of a server configuration:<br />
{{hc|/etc/nginx/servers-available/domain.conf|<nowiki><br />
server {<br />
server_name domain.tld<br />
..<br />
include conf.d/letsencrypt.conf;<br />
}<br />
</nowiki>}}<br />
<br />
===== Apache =====<br />
Create the file {{ic|/etc/httpd/conf/extra/httpd-acme.conf}}:<br />
{{hc|/etc/httpd/conf/extra/httpd-acme.conf|<nowiki><br />
Alias /.well-known/acme-challenge/ "/var/lib/letsencrypt/.well-known/acme-challenge/"<br />
<Directory "/var/lib/letsencrypt/"><br />
AllowOverride None<br />
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec<br />
Require method GET POST OPTIONS<br />
</Directory><br />
</nowiki>}}<br />
<br />
Including this in {{ic|/etc/httpd/conf/httpd.conf}}:<br />
{{hc|/etc/httpd/conf/httpd.conf|<nowiki><br />
Include conf/extra/httpd-acme.conf<br />
</nowiki>}}<br />
<br />
==== Obtain certificate(s) ====<br />
{{Expansion|detail lacking to successfully accomplish task being taught|section=accuracy_flag}}<br />
Request a certificate for {{ic|domain.tld}} using {{ic|/var/lib/letsencrypt/}} as public accessible path:<br />
# certbot certonly --email '''email@example.com''' --webroot -w '''/var/lib/letsencrypt/''' -d '''domain.tld'''<br />
<br />
To add a (sub)domain, include all registered domains used on the current setup:<br />
# certbot certonly --email '''email@example.com''' --webroot -w '''/var/lib/letsencrypt/''' -d '''domain.tld,sub.domain.tld'''<br />
<br />
To renew (all) the current certificate(s):<br />
# certbot renew<br />
<br />
See [[#Automatic renewal]] as alternative approach.<br />
<br />
=== Manual ===<br />
<br />
If there is no plugin for your web server, use the following command:<br />
# certbot certonly --manual<br />
<br />
When preferring to use DNS challenge (TXT record) use:<br />
# certbot certonly --manual --preferred-challenges dns<br />
<br />
This will automatically verify your domain and create a private key and certificate pair. These are placed in {{ic|/etc/letsencrypt/archive/''your.domain''/}} and symlinked from {{ic|/etc/letsencrypt/live/''your.domain''/}}.<br />
<br />
You can then manually configure your web server to reference the private key, certificate and full certificate chain in the symlinked directory.<br />
<br />
{{Note|Running this command multiple times, or renewing certificates will create multiple sets of files with a trailing number in {{ic|/etc/letsencrypt/archive/''your.domain''/}}. Certbot automatically updates the symlinks in {{ic|/etc/letsencrypt/live/''your.domain''/}} to point to the latest instances of files so there is no need to update your webserver to point to the new key material.}}<br />
<br />
== Advanced Configuration ==<br />
<br />
=== Automatic renewal ===<br />
<br />
==== systemd ====<br />
Create a [[systemd]] {{ic|certbot.service}}:<br />
{{hc|1=/etc/systemd/system/certbot.service|<br />
2=[Unit]<br />
Description=Let's Encrypt renewal<br />
<br />
[Service]<br />
Type=oneshot<br />
ExecStart=/usr/bin/certbot renew --quiet --agree-tos<br />
}}<br />
<br />
If you do not use a plugin to manage the web server configuration automatically, the web server has to be reloaded manually to reload the certificates each time they are renewed. This can be done by adding {{ic|--deploy-hook "systemctl reload nginx.service"}} to the {{ic|ExecStart}} command [https://certbot.eff.org/docs/using.html#renewing-certificates]. Of course use {{ic|httpd.service}} instead of {{ic|nginx.service}} if appropriate.<br />
<br />
{{Note|Before adding a [[systemd/Timers|timer]], check that the service is working correctly and is not trying to prompt anything.}}<br />
<br />
Add a timer to check for certificate renewal twice a day and include a randomized delay so that everyone's requests for renewal will be spread over the day to lighten the Let's Encrypt server load [https://certbot.eff.org/#arch-nginx]:<br />
<br />
{{hc|1=/etc/systemd/system/certbot.timer|<br />
2=[Unit]<br />
Description=Twice daily renewal of Let's Encrypt's certificates<br />
<br />
[Timer]<br />
OnCalendar=0/12:00:00<br />
RandomizedDelaySec=1h<br />
Persistent=true<br />
<br />
[Install]<br />
WantedBy=timers.target}}<br />
<br />
[[Enable]] and [[start]] {{ic|certbot.timer}}.<br />
<br />
=== Automatic renewal for wildcard certificates ===<br />
<br />
The process is fairly simple. To issue a wildcard certificate, you have to do it via a DNS challenge request, [https://community.letsencrypt.org/t/acme-v2-and-wildcard-certificate-support-is-live/55579 using the ACMEv2 protocol].<br />
<br />
While issuing a certificate manually is easy, it's not straight forward for automation. The DNS challenge represents a TXT record, given by certbot, which has to be set manually in the domain zone file.<br />
<br />
You will need to update the zone file upon every renew. To avoid doing that manually, you may use [https://tools.ietf.org/html/rfc2136 rfc2136] for which certbot has a plugin packaged in {{Pkg|certbot-dns-rfc2136}}. You will also need to configure your DNS server to allow dynamic updates for TXT records.<br />
<br />
==== Configure BIND for rfc2136 ====<br />
Generate a TSIG secret key:<br />
<br />
$ tsig-keygen -a HMAC-SHA512 '''example-key'''<br />
<br />
and add it in the configuration file:<br />
<br />
{{hc|1=/etc/named.conf|<br />
2=...<br />
zone "'''domain.ltd'''" IN {<br />
...<br />
// this is for certbot<br />
update-policy {<br />
grant '''example-key''' name _acme-challenge.'''domain.ltd'''. txt;<br />
};<br />
...<br />
};<br />
<br />
key "'''example-key'''" {<br />
algorithm hmac-sha512;<br />
secret "'''a_secret_key'''";<br />
};<br />
...}}<br />
<br />
[[Restart]] {{ic|named.service}}.<br />
<br />
==== Configure certbot for rfc2136 ====<br />
Create a configuration file for the rfc2136 plugin.<br />
<br />
{{hc|1=/etc/letsencrypt/rfc2136.ini|<br />
2=dns_rfc2136_server = '''IP.ADD.RE.SS'''<br />
dns_rfc2136_name = '''example-key'''<br />
dns_rfc2136_secret = '''INSERT_KEY_WITHOUT_QUOTES'''<br />
dns_rfc2136_algorithm = HMAC-SHA512}}<br />
<br />
Since the file contains a copy of the secret key, secure it with [[chmod]] by removing the group and others permissions.<br />
<br />
Test what we did:<br />
# certbot certonly --dns-rfc2136 --force-renewal --dns-rfc2136-credentials /etc/letsencrypt/rfc2136.ini --server https://acme-v02.api.letsencrypt.org/directory --email '''example@domain.ltd''' --agree-tos --no-eff-email -d ''''domain.ltd'''' -d ''''*.domain.ltd''''<br />
<br />
If you pass the validation successfully and receive certificates, then you are good to go with automating certbot. Otherwise, something went wrong and you need to debug your setup. It basically boils down to running {{ic|certbot renew}} from now on, see [[#Automatic renewal]].<br />
<br />
== See also ==<br />
<br />
* [[Transport_Layer_Security#ACME]]<br />
* [[Wikipedia:Let's Encrypt|Wikipedia article]]<br />
* [https://certbot.eff.org/ EFF's Certbot documentation]<br />
* [https://letsencrypt.org/docs/client-options/ List of ACME clients]</div>Meskarunehttps://wiki.archlinux.org/index.php?title=Core_utilities&diff=534299Core utilities2018-08-12T22:30:35Z<p>Meskarune: /* tar */ Added tip about bsdtar auto detecting file type and having more archive formats supported.</p>
<hr />
<div>[[Category:Command-line]]<br />
[[fa:Core utilities]]<br />
[[es:Core utilities]]<br />
[[it:Core utilities]]<br />
[[ja:Core Utilities]]<br />
[[ko:Core utilities]]<br />
[[pt:Core utilities]]<br />
[[ru:Core utilities]]<br />
[[zh-hans:Core utilities]]<br />
[[zh-hant:Core utilities]]<br />
{{Related articles start}}<br />
{{Related|Command-line shell}}<br />
{{Related|Bash}}<br />
{{Related|General recommendations}}<br />
{{Related|GNU Project}}<br />
{{Related|sudo}}<br />
{{Related|cron}}<br />
{{Related|man page}}<br />
{{Related|Securely wipe disk#shred}}<br />
{{Related|File permissions and attributes}}<br />
{{Related|Color output in console}}<br />
{{Related|Archiving and compression}}<br />
{{Related articles end}}<br />
<br />
This article deals with so-called ''core'' utilities on a GNU/Linux system, such as ''less'', ''ls'', and ''grep''. The scope of this article includes, but is not limited to, those utilities included with the GNU {{Pkg|coreutils}} package. What follows are various tips and tricks and other helpful information related to these utilities.<br />
<br />
Most command-line interfaces are documented in [[man page]]s, [[GNU]] commands tend to be documented in {{man|1|info}} pages, some [[shell]]s provide a {{ic|help}} command for [[shell]]-builtin commands. Additionally most commands print their usage when run with the {{ic|--help}} argument.<br />
<br />
== File management ==<br />
<br />
{| class="wikitable"<br />
! Command<br />
! Description<br />
! Manual page<br />
! Example<br />
|-<br />
| cd<br />
| Change directory (shell built-in command)<br />
| {{man|1p|cd}}<br />
| cd /etc/pacman.d<br />
|-<br />
| mkdir<br />
| Create a directory<br />
| {{man|1|mkdir}}<br />
| mkdir ~/newfolder<br />
|-<br />
| rmdir<br />
| Remove empty directory<br />
| {{man|1|rmdir}}<br />
| rmdir ~/emptyfolder<br />
|-<br />
| rm<br />
| Remove a file<br />
| {{man|1|rm}}<br />
| rm ~/file.txt<br />
|-<br />
| rm -r<br />
| Remove directory and contents<br />
|<br />
| rm -r ~/.cache<br />
|-<br />
| ls<br />
| List files<br />
| {{man|1|ls}}<br />
| ls *.mkv<br />
|-<br />
| ls -a<br />
| List hidden files<br />
|<br />
| ls -a /home/archie<br />
|-<br />
| ls -al<br />
| List hidden files and file properties<br />
|<br />
|<br />
|-<br />
| mv<br />
| Move a file<br />
| {{man|1|mv}}<br />
| mv ~/compressed.zip ~/archive/compressed2.zip<br />
|-<br />
| cp<br />
| Copy a file<br />
| {{man|1|cp}}<br />
| cp ~/.bashrc ~/.bashrc.bak<br />
|-<br />
| chmod +x<br />
| Make a file [[executable]]<br />
| {{man|1|chmod}}<br />
| chmod +x ~/.local/bin/myscript.sh<br />
|-<br />
| cat<br />
| Show file contents<br />
| {{man|1|cat}}<br />
| cat /etc/hostname<br />
|-<br />
| find<br />
| Search for a file<br />
| {{man|1|find}}<br />
| find ~ -name myfile<br />
|}<br />
<br />
=== ls ===<br />
<br />
[[Wikipedia:ls|ls]] lists directory contents.<br />
<br />
See {{ic|info ls}} or [https://www.gnu.org/software/coreutils/manual/html_node/ls-invocation.html#ls-invocation the online manual] for more information.<br />
<br />
[https://the.exa.website exa] is a modern, and more user friendly alternative to {{ic|ls}} and {{ic|tree}}, that has more features, such as displaying [[Git]] modifications along with filenames, colouring differently each columnn in {{ic|--long}} mode, or displaying {{ic|--long}} mode metadata along with a {{ic|tree}} view. {{Pkg|exa}}<br />
<br />
==== Long format ====<br />
<br />
The {{ic|-l}} option displays some metadata, for example:<br />
<br />
{{hc|$ ls -l ''/path/to/directory''|<br />
total 128<br />
drwxr-xr-x 2 archie users 4096 Jul 5 21:03 Desktop<br />
drwxr-xr-x 6 archie users 4096 Jul 5 17:37 Documents<br />
drwxr-xr-x 2 archie users 4096 Jul 5 13:45 Downloads<br />
-rw-rw-r-- 1 archie users 5120 Jun 27 08:28 customers.ods<br />
-rw-r--r-- 1 archie users 3339 Jun 27 08:28 todo<br />
-rwxr-xr-x 1 archie users 2048 Jul 6 12:56 myscript.sh<br />
}}<br />
<br />
The {{ic|total}} value represents the total disk allocation for the files in the directory, by default in number of blocks.<br />
<br />
{{Remove|Unnecessary detail found in man pages}}<br />
<br />
Below, each file and subdirectory is represented by a line divided into 7 metadata fields, in the following order:<br />
<br />
* type and permissions:<br />
** the first character is the entry type, see {{ic|info ls -n "What information is listed"}} for an explanation of all the possible types; for example:<br />
*** {{ic|-}} denotes a normal file;<br />
*** {{ic|d}} denotes a directory, i.e. a folder containing other files or folders;<br />
*** {{ic|p}} denotes a named pipe (aka FIFO);<br />
*** {{ic|l}} denotes a symbolic link;<br />
** the remaining characters are the entry's [[permissions]];<br />
* number of [[Wikipedia:Hard link|hard links]] for the entity; files will have at least 1, i.e. the showed reference itself; folders will have at least 2: the showed reference, the self-referencing {{ic|.}} entry, and then a {{ic|..}} entry in each of its subfolders;<br />
* owner [[user]] name;<br />
* [[group]] name;<br />
* size;<br />
* last modification timestamp;<br />
* entity name.<br />
<br />
==== File names containing spaces enclosed in quotes ====<br />
<br />
By default, file and directory names that contain spaces are displayed surrounded by single quotes. To change this behavior use the {{ic|-N}} or {{ic|1=--quoting-style=literal}} options. Alternatively, set the {{ic|QUOTING_STYLE}} [[environment variable]] to {{ic|literal}}. [https://unix.stackexchange.com/questions/258679/why-is-ls-suddenly-surrounding-items-with-spaces-in-single-quotes]<br />
<br />
=== cat ===<br />
<br />
[[Wikipedia:cat_(Unix)|cat]] is a standard Unix utility that concatenates files to standard output.<br />
<br />
* Because ''cat'' is not built into the shell, on many occasions you may find it more convenient to use a [[Wikipedia:Redirection (computing)|redirection]], for example in scripts, or if you care a lot about performance. In fact {{ic|< ''file''}} does the same as {{ic|cat ''file''}}.<br />
<br />
* ''cat'' can work with multiple lines:<br />
<br />
{{bc|<br />
$ cat << EOF >> ''path/file''<br />
''first line''<br />
...<br />
''last line''<br />
EOF<br />
}}<br />
<br />
Alternatively, using {{ic|printf}}:<br />
<br />
{{bc|<br />
$ printf '%s\n' 'first line' ... 'last line'<br />
}}<br />
<br />
* If you need to list file lines in reverse order, there is a coreutil command called [[Wikipedia:tac (Unix)|tac]] (''cat'' reversed).<br />
<br />
=== less ===<br />
<br />
{{Expansion|less is a complex beast, and this section should explain some of the basic less commands}}<br />
<br />
[[Wikipedia:less (Unix)|less]] is a terminal pager program used to view the contents of a text file one screen at a time. Whilst similar to other pagers such as [[Wikipedia:more (command)|more]] and the [https://git.kernel.org/cgit/utils/util-linux/util-linux.git/tree/Documentation/deprecated.txt deprecated] [[Wikipedia:pg (Unix)|pg]], ''less'' offers a more advanced interface and complete [http://www.greenwoodsoftware.com/less/faq.html feature-set].<br />
<br />
See [[List of applications#Terminal pagers]] for alternatives.<br />
<br />
==== Vim as alternative pager ====<br />
<br />
{{Move|Vim|Discusses a ''vim'' specifity}}<br />
<br />
[[Vim]] includes a script to view the content of text files, compressed files, binaries and directories. Add the following line to your shell configuration file to use it as a pager:<br />
{{hc|~/.bashrc|2=alias less='/usr/share/vim/vim80/macros/less.sh'}}<br />
<br />
There is also an alternative to the ''less.sh'' macro, which may work as the {{ic|PAGER}} environment variable. Install {{Pkg|vimpager}} and add the following to your shell configuration file:<br />
{{hc|~/.bashrc|2=<br />
export PAGER='vimpager'<br />
alias less=$PAGER<br />
}}<br />
<br />
Now programs that use the {{ic|PAGER}} environment variable, like [[git]], will use ''vim'' as pager.<br />
<br />
=== mkdir ===<br />
<br />
[[Wikipedia:mkdir|mkdir]] makes directories.<br />
<br />
To create a directory and its whole hierarchy, the {{ic|-p}} switch is used, otherwise an error is printed.<br />
<br />
Changing mode of a just created directory using ''chmod'' is not necessary as the {{ic|-m}} option lets you define the access permissions.<br />
<br />
{{Tip|If you just want a temporary directory, a better alternative may be [[Wikipedia:Temporary file|mktemp]]: {{ic|mktemp -d}}}}<br />
<br />
=== mv ===<br />
<br />
[[Wikipedia:mv|mv]] moves and renames files and directories.<br />
<br />
{{Note|"Security aliases" are dangerous because you get used to them, resulting in potential data loss when you use another system / user that does not have these aliases.}}<br />
<br />
To limit potential damage caused by the command, use an alias:<br />
<br />
alias mv='mv -iv'<br />
<br />
This alias asks for confirmation before overwriting any existing files and lists the operations in progress.<br />
<br />
=== rm ===<br />
<br />
[[Wikipedia:rm_(Unix)|rm]] removes files or directories.<br />
<br />
{{Note|"Security aliases" are dangerous because you get used to them, resulting in potential data loss when you use another system / user that does not have these aliases.}}<br />
<br />
To limit potential damage caused by the command, use an alias:<br />
<br />
alias rm='rm -Iv --one-file-system'<br />
<br />
This alias asks confirmation to delete three or more files, lists the operations in progress, does not involve more than one file systems. Substitute {{ic|-I}} with {{ic|-i}} if you prefer to confirm even for one file.<br />
<br />
Zsh users may want to prefix {{ic|noglob}} to avoid implicit expansions.<br />
<br />
To remove directories believed to be empty, use ''rmdir'' as it fails if there are files inside the target.<br />
<br />
=== chmod ===<br />
<br />
See [[File permissions and attributes#Changing permissions]].<br />
<br />
=== chown ===<br />
<br />
See [[File permissions and attributes#Changing ownership]].<br />
<br />
=== find ===<br />
<br />
''find'' is part of the {{Pkg|findutils}} package, which belongs to the {{Grp|base}} package group. <br />
<br />
{{Tip|{{Pkg|fd}} is a simple, fast and user-friendly alternative to {{ic|find}} that provides more sensible defaults (e.g. ignores hidden files, directories and {{ic|.gitignore}}'d files, {{ic|fd PATTERN}} instead of {{ic|find -iname '*PATTERN*'}}). It features colorized output (similar to {{ic|ls}}), Unicode awareness, regular expressions and more.}}<br />
<br />
One would probably expect a ''find'' command to take as argument a file name and search the filesystem for files matching that name. For a program that does exactly that see [[#locate]] below. <br />
<br />
Instead, find takes a set of directories and matches each file under them against a set of expressions. This design allows for some very powerful "one-liners" that would not be possible using the "intuitive" design described above. See [[GregsWiki:UsingFind]] for usage details.<br />
<br />
=== locate ===<br />
<br />
[[Install]] the {{Pkg|mlocate}} package. The package contains an {{ic|updatedb.timer}} unit, which invokes a database update each day. The timer is enabled right after installation, [[start]] it manually if you want to use it before reboot. You can also manually run ''updatedb'' as root at any time. By default, paths such as {{ic|/media}} and {{ic|/mnt}} are ignored, so ''locate'' may not discover files on external devices. See {{man|8|updatedb}} for details.<br />
<br />
The ''locate'' command is a common Unix tool for quickly finding files by name. It offers speed improvements over the [[wikipedia:Find (Unix)|find]] tool by searching a pre-constructed database file, rather than the filesystem directly. The downside of this approach is that changes made since the construction of the database file cannot be detected by ''locate''.<br />
<br />
Before ''locate'' can be used, the database will need to be created. To do this, execute {{ic|updatedb}} as root.<br />
<br />
See also [http://jvns.ca/blog/2015/03/05/how-the-locate-command-works-and-lets-rewrite-it-in-one-minute/ How locate works and rewrite it in one minute].<br />
<br />
=== diff ===<br />
<br />
''diff'' compares files line by line. The default Arch Linux ''diff'' is from the GNU {{Pkg|diffutils}}, which also provides ''cmp'' to compare files byte by byte.<br />
<br />
When comparing text files a word per word diff is often more desirable:<br />
<br />
* [[git]]'s {{ic|git diff}} can do a word diff with {{ic|--color-words}}, using {{ic|--no-index}} it can be used for files outside of Git working trees.<br />
* {{App|dwdiff|A word diff front-end for the diff program, supports colors.|https://os.ghalkes.nl/dwdiff.html|{{Pkg|dwdiff}}}}<br />
* {{App|GNU wdiff|A wordwise implementation of GNU diff, does not support colors.|https://www.gnu.org/software/wdiff/|{{AUR|wdiff}}}}<br />
* {{App|cwdiff|A GNU wdiff wrapper that colorizes the output.|https://github.com/junghans/cwdiff|{{AUR|cwdiff}}, {{AUR|cwdiff-git}}}}<br />
<br />
== Text streams ==<br />
<br />
Shell [[Wikipedia:Pipeline (Unix)|pipelines]] operate on stdout by default. To operate on {{man|3|stderr}} you can redirect ''stderr'' to ''stdout'' with {{ic|''command'' 2>&1 {{!}} ''othercommand''}} or, for Bash 4, {{ic|''command'' {{!}}& ''othercommand''}}. See also [http://www.tldp.org/LDP/abs/html/io-redirection.html I/O Redirection].<br />
<br />
=== grep ===<br />
<br />
[[Wikipedia:grep|grep]] is a command line text search utility originally written for Unix. The ''grep'' command searches files or standard input for lines matching a given regular expression, and prints these lines to standard output.<br />
<br />
* Remember that ''grep'' handles files, so a construct like {{ic|grep ''pattern'' < ''file''}} is replaceable with {{ic|grep ''pattern'' ''file''}}.<br />
* To include file line numbers in the output, use the {{ic|-n}} option.<br />
* ''grep'' can also be used for hexadecimal search in a binary file, to look for let say the {{ic|A1 F2}} sequence in a file, the command line is: {{bc|1=$ LANG=C grep --text --perl-regexp "\xA1\xF2" ''/path/to/file''}}<br />
<br />
For color support, see [[Color output in console#grep]].<br />
<br />
See {{man|1|grep}} for more details.<br />
<br />
{{Tip|There are ''grep'' alternatives optimized for VCS source code, such as {{Pkg|ripgrep}}, {{Pkg|the_silver_searcher}}, and {{Pkg|ack}}.}}<br />
<br />
=== sed ===<br />
<br />
[[Wikipedia:sed|sed]] is stream editor for filtering and transforming text.<br />
<br />
Here is a handy [http://sed.sourceforge.net/sed1line.txt list] of ''sed'' one-liners examples.<br />
<br />
{{Tip|More powerful alternatives are [[#awk|awk]] and the [[Perl]] language.}}<br />
<br />
=== awk ===<br />
<br />
[[Wikipedia:AWK|AWK]] is a pattern scanning and processing language. There are multiple implementations:<br />
<br />
* {{App|gawk|GNU version of awk, see {{man|1|gawk}}.|https://www.gnu.org/software/gawk/|{{Pkg|gawk}} (part of {{Grp|base}})}}<br />
* {{App|nawk|The one, true implementation of AWK, see {{man|1|nawk}}.|https://www.cs.princeton.edu/~bwk/btl.mirror/|{{Pkg|nawk}}}}<br />
* {{App|mawk|A very fast AWK implementation.|http://invisible-island.net/mawk/|{{AUR|mawk}}}}<br />
* [[BusyBox]] also includes an AWK implementation.<br />
<br />
== System administration ==<br />
<br />
{| class="wikitable"<br />
! Command<br />
! Description<br />
! Manual page<br />
! Example<br />
|-<br />
| mount<br />
| Mount a partition<br />
| {{man|8|mount}}<br />
| mount /dev/sdc1 /media/usb<br />
|-<br />
| df -h<br />
| Show remaining space on all partitions<br />
| {{man|1|df}}<br />
|<br />
|-<br />
| ps -A<br />
| Show all running processes<br />
| {{man|1|ps}}<br />
|<br />
|-<br />
| killall<br />
| Kill all running instances of a process<br />
| {{man|1|killall}}<br />
|<br />
|-<br />
| ss -at<br />
| Display a list of open TCP sockets<br />
| {{man|8|ss}}<br />
|<br />
|}<br />
<br />
=== sudo ===<br />
<br />
See [[Sudo]].<br />
<br />
=== which ===<br />
<br />
[[wikipedia:Which_(Unix)|which]] shows the full path of shell commands. In the following example the full path of {{ic|ssh}} is used as an argument for {{ic|journalctl}}:<br />
<br />
# journalctl $(which sshd)<br />
<br />
=== lsblk ===<br />
<br />
{{man|8|lsblk}} will show all available [[Wikipedia:Device file#Block devices|block devices]] along with their partitioning schemes, for example:<br />
<br />
{{hc|$ lsblk -f|<br />
NAME FSTYPE LABEL UUID MOUNTPOINT<br />
sda<br />
├─sda1 vfat C4DA-2C4D /boot<br />
├─sda2 swap 5b1564b2-2e2c-452c-bcfa-d1f572ae99f2 [SWAP]<br />
└─sda3 ext4 56adc99b-a61e-46af-aab7-a6d07e504652 /<br />
}}<br />
<br />
The beginning of the device name specifies the type of block device. Most modern storage devices (e.g. hard disks, [[SSD]]s and USB flash drives) are recognised as SCSI disks ({{ic|sd}}). The type is followed by a lower-case letter starting from {{ic|a}} for the first device ({{ic|sda}}), {{ic|b}} for the second device ({{ic|sdb}}), and so on. ''Existing'' partitions on each device will be listed with a number starting from {{ic|1}} for the first partition ({{ic|sda1}}), {{ic|2}} for the second ({{ic|sda2}}), and so on. In the example above, only one device is available ({{ic|sda}}), and that device has three partitions ({{ic|sda1}} to {{ic|sda3}}), each with a different [[file system]].<br />
<br />
Other common block device types include for example {{ic|mmcblk}} for memory cards and {{ic|nvme}} for [[NVMe]] devices. Unknown types can be searched in the [https://www.kernel.org/doc/html/latest/admin-guide/devices.html kernel documentation].<br />
<br />
=== ip ===<br />
<br />
[[Wikipedia:Iproute2|ip]] allows you to show information about network devices, IP addresses, routing tables, and other objects in the Linux [[Wikipedia:Internet Protocol|IP]] software stack. By appending various commands, you can also manipulate or configure most of these objects.<br />
<br />
{{Note|The ''ip'' utility is provided by the {{Pkg|iproute2}} package, which is included in the {{Grp|base}} group.}}<br />
<br />
{| class="wikitable"<br />
! Object !! Purpose !! Manual page<br />
|-<br />
| ip addr || protocol address management || {{man|8|ip-address}}<br />
|-<br />
| ip addrlabel || protocol address label management || {{man|8|ip-addrlabel}}<br />
|-<br />
| ip l2tp || tunnel Ethernet over IP (L2TPv3) || {{man|8|ip-l2tp}}<br />
|-<br />
| ip link || network device configuration || {{man|8|ip-link}}<br />
|-<br />
| ip maddr || multicast addresses management || {{man|8|ip-maddress}}<br />
|-<br />
| ip monitor || watch for netlink messages || {{man|8|ip-monitor}}<br />
|-<br />
| ip mroute || multicast routing cache management || {{man|8|ip-mroute}}<br />
|-<br />
| ip mrule || rule in multicast routing policy db ||<br />
|-<br />
| ip neigh || neighbour/ARP tables management || {{man|8|ip-neighbour}}<br />
|-<br />
| ip netns || process network namespace management || {{man|8|ip-netns}}<br />
|-<br />
| ip ntable || neighbour table configuration || {{man|8|ip-ntable}}<br />
|-<br />
| ip route || routing table management || {{man|8|ip-route}}<br />
|-<br />
| ip rule || routing policy database management || {{man|8|ip-rule}}<br />
|-<br />
| ip tcp_metrics || management for TCP Metrics || {{man|8|ip-tcp_metrics}}<br />
|-<br />
| ip tunnel || tunnel configuration || {{man|8|ip-tunnel}}<br />
|-<br />
| ip tuntap || manage TUN/TAP devices ||<br />
|-<br />
| ip xfrm || manage IPsec policies || {{man|8|ip-xfrm}}<br />
|}<br />
<br />
The {{ic|help}} command is available for all objects. For example, typing {{ic|ip addr help}} will show you the command syntax available for the address object. For advanced usage see the [http://www.policyrouting.org/iproute2.doc.html iproute2 documentation].<br />
<br />
The [[Network configuration]] article shows how the ''ip'' command is used in practice for various common tasks.<br />
<br />
{{Note|You might be familiar with the [[Wikipedia:ifconfig|ifconfig]] command, which was used in older Linux systems. It is deprecated in Arch Linux; use ''ip'' instead. }}<br />
<br />
=== ss ===<br />
<br />
''ss'' is a utility to investigate network ports and is part of the {{Pkg|iproute2}} package in the {{Grp|base}} group. It has a similar functionality to the [https://www.archlinux.org/news/deprecation-of-net-tools/ deprecated] netstat utility. <br />
<br />
Common usage includes:<br />
<br />
Display all TCP Sockets with service names:<br />
$ ss -at<br />
<br />
Display all TCP Sockets with port numbers:<br />
$ ss -atn<br />
<br />
Display all UDP Sockets:<br />
$ ss -au<br />
<br />
For more information see {{man|8|ss}} or {{ic|ss.html}} from the {{Pkg|iproute2}} package.<br />
<br />
== Miscellaneous ==<br />
<br />
{| class="wikitable"<br />
! Command<br />
! Description<br />
! Manual page<br />
! Example<br />
|-<br />
| strings<br />
| Show printable characters in binary files<br />
| {{man|1|strings}}<br />
| strings /usr/bin/free<br />
|}<br />
<br />
=== dd ===<br />
<br />
[[Wikipedia:dd (Unix)|dd]] is a utility for Unix and Unix-like operating systems whose primary purpose is to convert and copy a file.<br />
<br />
Similarly to ''cp'', by default ''dd'' makes a bit-to-bit copy of the file, but with lower-level I/O flow control features.<br />
<br />
Some notable applications of ''dd'' are:<br />
<br />
* [[Disk cloning#Using dd]],<br />
<br />
* Binary file patching: let say one wants to replace offset {{ic|0x123AB}} of a file with the {{ic|FF C0 14}} hexadecimal sequence, this can be done with the command line: {{bc|1=# printf '\xff\xc0\x14' {{!}} dd seek=$((0x123AB)) conv=notrunc bs=1 of=''/path/to/file''}}<br />
<br />
For more information see {{man|1|dd}} or the [https://www.gnu.org/software/coreutils/dd full documentation].<br />
<br />
{{Tip|By default, ''dd'' outputs nothing until the task has finished. To monitor the progress of the operation, add the {{ic|1=status=progress}} option to the command.}}<br />
{{Warning|One should be extremely cautious using ''dd'', as with any command of this kind it can destroy data irreversibly.}}<br />
<br />
=== iconv ===<br />
<br />
''iconv'' converts the encoding of characters from one codeset to another.<br />
<br />
The following command will convert the file {{ic|''foo''}} from ISO-8859-15 to UTF-8, saving it to {{ic|''foo''.utf}}:<br />
<br />
$ iconv -f ISO-8859-15 -t UTF-8 ''foo'' > ''foo''.utf<br />
<br />
See {{man|1|iconv}} for more details.<br />
<br />
==== Convert a file in place ====<br />
<br />
{{Tip|You can use {{pkg|recode}} instead of iconv if you do not want to touch the mtime.}}<br />
Unlike [[#sed|sed]], ''iconv'' does not provide an option to convert a file in place. However, {{ic|sponge}} from the {{pkg|moreutils}} package can help:<br />
<br />
$ iconv -f WINDOWS-1251 -t UTF-8 ''foobar''.txt | sponge ''foobar''.txt<br />
<br />
See {{man|1|sponge}} for details.<br />
<br />
=== od ===<br />
<br />
The [[Wikipedia:od (Unix)|od]] (''o''ctal ''d''ump) command is useful for visualizing data that is not in a human-readable format, like the executable code of a program, or the contents of an unformatted device. See the [https://www.gnu.org/software/coreutils/manual/html_node/od-invocation.html#od-invocation manual] for more information.<br />
<br />
=== seq ===<br />
<br />
''seq'' prints a sequence of numbers. Shell built-in alternatives are available, so it is good practice to use them as explained on [[Wikipedia:Seq (Unix)|Wikipedia]].<br />
<br />
=== tar ===<br />
<br />
As an early Unix archiving format, .tar files—known as "tarballs"—are widely used for packaging in Unix-like operating systems. Both [[pacman]] and [[AUR]] packages are compressed tarballs, and Arch uses [[GNU Project|GNU's]] ''tar'' program by default. <br />
<br />
For ''.tar'' archives, ''tar'' by default will extract the file according to its extension:<br />
<br />
$ tar xvf ''file.EXTENSION''<br />
<br />
Forcing a given format:<br />
<br />
{| class="wikitable"<br />
!File Type !! Extraction Command<br />
|-<br />
|{{ic|''file''.tar}} || {{Ic|tar xvf ''file''.tar}}<br />
|-<br />
|{{ic|''file''.tgz}} || {{Ic|tar xvzf ''file''.tgz}}<br />
|-<br />
|{{ic|''file''.tar.gz}} || {{Ic|tar xvzf ''file''.tar.gz}}<br />
|-<br />
|{{ic|''file''.tar.bz}} || {{Ic|bzip -cd ''file''.bz <nowiki>|</nowiki> tar xvf -}}<br />
|-<br />
|{{ic|''file''.tar.bz2}} || {{Ic|tar xvjf ''file''.tar.bz2}}<br> {{Ic|bzip2 -cd ''file''.bz2 <nowiki>| tar xvf -</nowiki>}}<br />
|-<br />
|{{ic|''file''.tar.xz}} || {{Ic|tar xvJf ''file''.tar.xz}}<br> {{Ic|xz -cd ''file''.xz <nowiki>| tar xvf -</nowiki>}}<br />
|-<br />
|{{ic|''file''.tar.zst}} || {{Ic|tar -I zstd xvf ''file''.tar.zst}}<br />
|}<br />
<br />
The construction of some of these ''tar'' arguments may be considered legacy, but they are still useful when performing specific operations. See {{man|1|tar}} for details.<br />
<br />
{{Note|GNU's ''tar'' is installed as the default ''tar'' program, however official Arch Linux projects like [[pacman]] and [[mkinitcpio]] use ''bsdtar'' from the {{Pkg|libarchive}} package.}}<br />
<br />
{{Tip|''Bsdtar'' supports more [https://github.com/libarchive/libarchive/wiki/LibarchiveFormats archive formats] than GNU tar and auto-detects the file type.}}<br />
<br />
=== wipefs ===<br />
<br />
{{Expansion|Why would you want to erase magic strings?}}<br />
<br />
''wipefs'' can list or erase [[file system]], [[RAID]] or [[partition|partition-table]] signatures (magic strings) from the specified device. It does not erase the file systems themselves nor any other data from the device.<br />
<br />
See {{man|8|wipefs}} for more information.<br />
<br />
For example, to erase all signatures from the device {{ic|/dev/sdb}} and create a signature backup {{ic|~/wipefs-sdb-''offset''.bak}} file for each signature:<br />
<br />
# wipefs --all --backup /dev/sdb<br />
<br />
== See also ==<br />
<br />
* [http://pubs.opengroup.org/onlinepubs/9699919799/idx/utilities.html POSIX Utilities]<br />
* [https://www.gnu.org/software/coreutils/manual/coreutils.html GNU Coreutils online documentation]<br />
* [http://www.reddit.com/r/commandline/comments/19garq/a_sampling_of_coreutils_120/ A sampling of coreutils on Reddit] [http://www.reddit.com/r/commandline/comments/19ge6v/a_sampling_of_coreutils_2040/ , part 2] [http://www.reddit.com/r/commandline/comments/19j1w3/a_sampling_of_coreutils_4060/ , part 3] - Overview of commands in coreutils<br />
* [https://www.linuxquestions.org/questions/linux-newbie-8/learn-the-dd-command-362506/ Learn the DD command]</div>Meskarunehttps://wiki.archlinux.org/index.php?title=Core_utilities&diff=534298Core utilities2018-08-12T22:14:20Z<p>Meskarune: Added the bash page to related articles</p>
<hr />
<div>[[Category:Command-line]]<br />
[[fa:Core utilities]]<br />
[[es:Core utilities]]<br />
[[it:Core utilities]]<br />
[[ja:Core Utilities]]<br />
[[ko:Core utilities]]<br />
[[pt:Core utilities]]<br />
[[ru:Core utilities]]<br />
[[zh-hans:Core utilities]]<br />
[[zh-hant:Core utilities]]<br />
{{Related articles start}}<br />
{{Related|Command-line shell}}<br />
{{Related|Bash}}<br />
{{Related|General recommendations}}<br />
{{Related|GNU Project}}<br />
{{Related|sudo}}<br />
{{Related|cron}}<br />
{{Related|man page}}<br />
{{Related|Securely wipe disk#shred}}<br />
{{Related|File permissions and attributes}}<br />
{{Related|Color output in console}}<br />
{{Related|Archiving and compression}}<br />
{{Related articles end}}<br />
<br />
This article deals with so-called ''core'' utilities on a GNU/Linux system, such as ''less'', ''ls'', and ''grep''. The scope of this article includes, but is not limited to, those utilities included with the GNU {{Pkg|coreutils}} package. What follows are various tips and tricks and other helpful information related to these utilities.<br />
<br />
Most command-line interfaces are documented in [[man page]]s, [[GNU]] commands tend to be documented in {{man|1|info}} pages, some [[shell]]s provide a {{ic|help}} command for [[shell]]-builtin commands. Additionally most commands print their usage when run with the {{ic|--help}} argument.<br />
<br />
== File management ==<br />
<br />
{| class="wikitable"<br />
! Command<br />
! Description<br />
! Manual page<br />
! Example<br />
|-<br />
| cd<br />
| Change directory (shell built-in command)<br />
| {{man|1p|cd}}<br />
| cd /etc/pacman.d<br />
|-<br />
| mkdir<br />
| Create a directory<br />
| {{man|1|mkdir}}<br />
| mkdir ~/newfolder<br />
|-<br />
| rmdir<br />
| Remove empty directory<br />
| {{man|1|rmdir}}<br />
| rmdir ~/emptyfolder<br />
|-<br />
| rm<br />
| Remove a file<br />
| {{man|1|rm}}<br />
| rm ~/file.txt<br />
|-<br />
| rm -r<br />
| Remove directory and contents<br />
|<br />
| rm -r ~/.cache<br />
|-<br />
| ls<br />
| List files<br />
| {{man|1|ls}}<br />
| ls *.mkv<br />
|-<br />
| ls -a<br />
| List hidden files<br />
|<br />
| ls -a /home/archie<br />
|-<br />
| ls -al<br />
| List hidden files and file properties<br />
|<br />
|<br />
|-<br />
| mv<br />
| Move a file<br />
| {{man|1|mv}}<br />
| mv ~/compressed.zip ~/archive/compressed2.zip<br />
|-<br />
| cp<br />
| Copy a file<br />
| {{man|1|cp}}<br />
| cp ~/.bashrc ~/.bashrc.bak<br />
|-<br />
| chmod +x<br />
| Make a file [[executable]]<br />
| {{man|1|chmod}}<br />
| chmod +x ~/.local/bin/myscript.sh<br />
|-<br />
| cat<br />
| Show file contents<br />
| {{man|1|cat}}<br />
| cat /etc/hostname<br />
|-<br />
| find<br />
| Search for a file<br />
| {{man|1|find}}<br />
| find ~ -name myfile<br />
|}<br />
<br />
=== ls ===<br />
<br />
[[Wikipedia:ls|ls]] lists directory contents.<br />
<br />
See {{ic|info ls}} or [https://www.gnu.org/software/coreutils/manual/html_node/ls-invocation.html#ls-invocation the online manual] for more information.<br />
<br />
[https://the.exa.website exa] is a modern, and more user friendly alternative to {{ic|ls}} and {{ic|tree}}, that has more features, such as displaying [[Git]] modifications along with filenames, colouring differently each columnn in {{ic|--long}} mode, or displaying {{ic|--long}} mode metadata along with a {{ic|tree}} view. {{Pkg|exa}}<br />
<br />
==== Long format ====<br />
<br />
The {{ic|-l}} option displays some metadata, for example:<br />
<br />
{{hc|$ ls -l ''/path/to/directory''|<br />
total 128<br />
drwxr-xr-x 2 archie users 4096 Jul 5 21:03 Desktop<br />
drwxr-xr-x 6 archie users 4096 Jul 5 17:37 Documents<br />
drwxr-xr-x 2 archie users 4096 Jul 5 13:45 Downloads<br />
-rw-rw-r-- 1 archie users 5120 Jun 27 08:28 customers.ods<br />
-rw-r--r-- 1 archie users 3339 Jun 27 08:28 todo<br />
-rwxr-xr-x 1 archie users 2048 Jul 6 12:56 myscript.sh<br />
}}<br />
<br />
The {{ic|total}} value represents the total disk allocation for the files in the directory, by default in number of blocks.<br />
<br />
{{Remove|Unnecessary detail found in man pages}}<br />
<br />
Below, each file and subdirectory is represented by a line divided into 7 metadata fields, in the following order:<br />
<br />
* type and permissions:<br />
** the first character is the entry type, see {{ic|info ls -n "What information is listed"}} for an explanation of all the possible types; for example:<br />
*** {{ic|-}} denotes a normal file;<br />
*** {{ic|d}} denotes a directory, i.e. a folder containing other files or folders;<br />
*** {{ic|p}} denotes a named pipe (aka FIFO);<br />
*** {{ic|l}} denotes a symbolic link;<br />
** the remaining characters are the entry's [[permissions]];<br />
* number of [[Wikipedia:Hard link|hard links]] for the entity; files will have at least 1, i.e. the showed reference itself; folders will have at least 2: the showed reference, the self-referencing {{ic|.}} entry, and then a {{ic|..}} entry in each of its subfolders;<br />
* owner [[user]] name;<br />
* [[group]] name;<br />
* size;<br />
* last modification timestamp;<br />
* entity name.<br />
<br />
==== File names containing spaces enclosed in quotes ====<br />
<br />
By default, file and directory names that contain spaces are displayed surrounded by single quotes. To change this behavior use the {{ic|-N}} or {{ic|1=--quoting-style=literal}} options. Alternatively, set the {{ic|QUOTING_STYLE}} [[environment variable]] to {{ic|literal}}. [https://unix.stackexchange.com/questions/258679/why-is-ls-suddenly-surrounding-items-with-spaces-in-single-quotes]<br />
<br />
=== cat ===<br />
<br />
[[Wikipedia:cat_(Unix)|cat]] is a standard Unix utility that concatenates files to standard output.<br />
<br />
* Because ''cat'' is not built into the shell, on many occasions you may find it more convenient to use a [[Wikipedia:Redirection (computing)|redirection]], for example in scripts, or if you care a lot about performance. In fact {{ic|< ''file''}} does the same as {{ic|cat ''file''}}.<br />
<br />
* ''cat'' can work with multiple lines:<br />
<br />
{{bc|<br />
$ cat << EOF >> ''path/file''<br />
''first line''<br />
...<br />
''last line''<br />
EOF<br />
}}<br />
<br />
Alternatively, using {{ic|printf}}:<br />
<br />
{{bc|<br />
$ printf '%s\n' 'first line' ... 'last line'<br />
}}<br />
<br />
* If you need to list file lines in reverse order, there is a coreutil command called [[Wikipedia:tac (Unix)|tac]] (''cat'' reversed).<br />
<br />
=== less ===<br />
<br />
{{Expansion|less is a complex beast, and this section should explain some of the basic less commands}}<br />
<br />
[[Wikipedia:less (Unix)|less]] is a terminal pager program used to view the contents of a text file one screen at a time. Whilst similar to other pagers such as [[Wikipedia:more (command)|more]] and the [https://git.kernel.org/cgit/utils/util-linux/util-linux.git/tree/Documentation/deprecated.txt deprecated] [[Wikipedia:pg (Unix)|pg]], ''less'' offers a more advanced interface and complete [http://www.greenwoodsoftware.com/less/faq.html feature-set].<br />
<br />
See [[List of applications#Terminal pagers]] for alternatives.<br />
<br />
==== Vim as alternative pager ====<br />
<br />
{{Move|Vim|Discusses a ''vim'' specifity}}<br />
<br />
[[Vim]] includes a script to view the content of text files, compressed files, binaries and directories. Add the following line to your shell configuration file to use it as a pager:<br />
{{hc|~/.bashrc|2=alias less='/usr/share/vim/vim80/macros/less.sh'}}<br />
<br />
There is also an alternative to the ''less.sh'' macro, which may work as the {{ic|PAGER}} environment variable. Install {{Pkg|vimpager}} and add the following to your shell configuration file:<br />
{{hc|~/.bashrc|2=<br />
export PAGER='vimpager'<br />
alias less=$PAGER<br />
}}<br />
<br />
Now programs that use the {{ic|PAGER}} environment variable, like [[git]], will use ''vim'' as pager.<br />
<br />
=== mkdir ===<br />
<br />
[[Wikipedia:mkdir|mkdir]] makes directories.<br />
<br />
To create a directory and its whole hierarchy, the {{ic|-p}} switch is used, otherwise an error is printed.<br />
<br />
Changing mode of a just created directory using ''chmod'' is not necessary as the {{ic|-m}} option lets you define the access permissions.<br />
<br />
{{Tip|If you just want a temporary directory, a better alternative may be [[Wikipedia:Temporary file|mktemp]]: {{ic|mktemp -d}}}}<br />
<br />
=== mv ===<br />
<br />
[[Wikipedia:mv|mv]] moves and renames files and directories.<br />
<br />
{{Note|"Security aliases" are dangerous because you get used to them, resulting in potential data loss when you use another system / user that does not have these aliases.}}<br />
<br />
To limit potential damage caused by the command, use an alias:<br />
<br />
alias mv='mv -iv'<br />
<br />
This alias asks for confirmation before overwriting any existing files and lists the operations in progress.<br />
<br />
=== rm ===<br />
<br />
[[Wikipedia:rm_(Unix)|rm]] removes files or directories.<br />
<br />
{{Note|"Security aliases" are dangerous because you get used to them, resulting in potential data loss when you use another system / user that does not have these aliases.}}<br />
<br />
To limit potential damage caused by the command, use an alias:<br />
<br />
alias rm='rm -Iv --one-file-system'<br />
<br />
This alias asks confirmation to delete three or more files, lists the operations in progress, does not involve more than one file systems. Substitute {{ic|-I}} with {{ic|-i}} if you prefer to confirm even for one file.<br />
<br />
Zsh users may want to prefix {{ic|noglob}} to avoid implicit expansions.<br />
<br />
To remove directories believed to be empty, use ''rmdir'' as it fails if there are files inside the target.<br />
<br />
=== chmod ===<br />
<br />
See [[File permissions and attributes#Changing permissions]].<br />
<br />
=== chown ===<br />
<br />
See [[File permissions and attributes#Changing ownership]].<br />
<br />
=== find ===<br />
<br />
''find'' is part of the {{Pkg|findutils}} package, which belongs to the {{Grp|base}} package group. <br />
<br />
{{Tip|{{Pkg|fd}} is a simple, fast and user-friendly alternative to {{ic|find}} that provides more sensible defaults (e.g. ignores hidden files, directories and {{ic|.gitignore}}'d files, {{ic|fd PATTERN}} instead of {{ic|find -iname '*PATTERN*'}}). It features colorized output (similar to {{ic|ls}}), Unicode awareness, regular expressions and more.}}<br />
<br />
One would probably expect a ''find'' command to take as argument a file name and search the filesystem for files matching that name. For a program that does exactly that see [[#locate]] below. <br />
<br />
Instead, find takes a set of directories and matches each file under them against a set of expressions. This design allows for some very powerful "one-liners" that would not be possible using the "intuitive" design described above. See [[GregsWiki:UsingFind]] for usage details.<br />
<br />
=== locate ===<br />
<br />
[[Install]] the {{Pkg|mlocate}} package. The package contains an {{ic|updatedb.timer}} unit, which invokes a database update each day. The timer is enabled right after installation, [[start]] it manually if you want to use it before reboot. You can also manually run ''updatedb'' as root at any time. By default, paths such as {{ic|/media}} and {{ic|/mnt}} are ignored, so ''locate'' may not discover files on external devices. See {{man|8|updatedb}} for details.<br />
<br />
The ''locate'' command is a common Unix tool for quickly finding files by name. It offers speed improvements over the [[wikipedia:Find (Unix)|find]] tool by searching a pre-constructed database file, rather than the filesystem directly. The downside of this approach is that changes made since the construction of the database file cannot be detected by ''locate''.<br />
<br />
Before ''locate'' can be used, the database will need to be created. To do this, execute {{ic|updatedb}} as root.<br />
<br />
See also [http://jvns.ca/blog/2015/03/05/how-the-locate-command-works-and-lets-rewrite-it-in-one-minute/ How locate works and rewrite it in one minute].<br />
<br />
=== diff ===<br />
<br />
''diff'' compares files line by line. The default Arch Linux ''diff'' is from the GNU {{Pkg|diffutils}}, which also provides ''cmp'' to compare files byte by byte.<br />
<br />
When comparing text files a word per word diff is often more desirable:<br />
<br />
* [[git]]'s {{ic|git diff}} can do a word diff with {{ic|--color-words}}, using {{ic|--no-index}} it can be used for files outside of Git working trees.<br />
* {{App|dwdiff|A word diff front-end for the diff program, supports colors.|https://os.ghalkes.nl/dwdiff.html|{{Pkg|dwdiff}}}}<br />
* {{App|GNU wdiff|A wordwise implementation of GNU diff, does not support colors.|https://www.gnu.org/software/wdiff/|{{AUR|wdiff}}}}<br />
* {{App|cwdiff|A GNU wdiff wrapper that colorizes the output.|https://github.com/junghans/cwdiff|{{AUR|cwdiff}}, {{AUR|cwdiff-git}}}}<br />
<br />
== Text streams ==<br />
<br />
Shell [[Wikipedia:Pipeline (Unix)|pipelines]] operate on stdout by default. To operate on {{man|3|stderr}} you can redirect ''stderr'' to ''stdout'' with {{ic|''command'' 2>&1 {{!}} ''othercommand''}} or, for Bash 4, {{ic|''command'' {{!}}& ''othercommand''}}. See also [http://www.tldp.org/LDP/abs/html/io-redirection.html I/O Redirection].<br />
<br />
=== grep ===<br />
<br />
[[Wikipedia:grep|grep]] is a command line text search utility originally written for Unix. The ''grep'' command searches files or standard input for lines matching a given regular expression, and prints these lines to standard output.<br />
<br />
* Remember that ''grep'' handles files, so a construct like {{ic|grep ''pattern'' < ''file''}} is replaceable with {{ic|grep ''pattern'' ''file''}}.<br />
* To include file line numbers in the output, use the {{ic|-n}} option.<br />
* ''grep'' can also be used for hexadecimal search in a binary file, to look for let say the {{ic|A1 F2}} sequence in a file, the command line is: {{bc|1=$ LANG=C grep --text --perl-regexp "\xA1\xF2" ''/path/to/file''}}<br />
<br />
For color support, see [[Color output in console#grep]].<br />
<br />
See {{man|1|grep}} for more details.<br />
<br />
{{Tip|There are ''grep'' alternatives optimized for VCS source code, such as {{Pkg|ripgrep}}, {{Pkg|the_silver_searcher}}, and {{Pkg|ack}}.}}<br />
<br />
=== sed ===<br />
<br />
[[Wikipedia:sed|sed]] is stream editor for filtering and transforming text.<br />
<br />
Here is a handy [http://sed.sourceforge.net/sed1line.txt list] of ''sed'' one-liners examples.<br />
<br />
{{Tip|More powerful alternatives are [[#awk|awk]] and the [[Perl]] language.}}<br />
<br />
=== awk ===<br />
<br />
[[Wikipedia:AWK|AWK]] is a pattern scanning and processing language. There are multiple implementations:<br />
<br />
* {{App|gawk|GNU version of awk, see {{man|1|gawk}}.|https://www.gnu.org/software/gawk/|{{Pkg|gawk}} (part of {{Grp|base}})}}<br />
* {{App|nawk|The one, true implementation of AWK, see {{man|1|nawk}}.|https://www.cs.princeton.edu/~bwk/btl.mirror/|{{Pkg|nawk}}}}<br />
* {{App|mawk|A very fast AWK implementation.|http://invisible-island.net/mawk/|{{AUR|mawk}}}}<br />
* [[BusyBox]] also includes an AWK implementation.<br />
<br />
== System administration ==<br />
<br />
{| class="wikitable"<br />
! Command<br />
! Description<br />
! Manual page<br />
! Example<br />
|-<br />
| mount<br />
| Mount a partition<br />
| {{man|8|mount}}<br />
| mount /dev/sdc1 /media/usb<br />
|-<br />
| df -h<br />
| Show remaining space on all partitions<br />
| {{man|1|df}}<br />
|<br />
|-<br />
| ps -A<br />
| Show all running processes<br />
| {{man|1|ps}}<br />
|<br />
|-<br />
| killall<br />
| Kill all running instances of a process<br />
| {{man|1|killall}}<br />
|<br />
|-<br />
| ss -at<br />
| Display a list of open TCP sockets<br />
| {{man|8|ss}}<br />
|<br />
|}<br />
<br />
=== sudo ===<br />
<br />
See [[Sudo]].<br />
<br />
=== which ===<br />
<br />
[[wikipedia:Which_(Unix)|which]] shows the full path of shell commands. In the following example the full path of {{ic|ssh}} is used as an argument for {{ic|journalctl}}:<br />
<br />
# journalctl $(which sshd)<br />
<br />
=== lsblk ===<br />
<br />
{{man|8|lsblk}} will show all available [[Wikipedia:Device file#Block devices|block devices]] along with their partitioning schemes, for example:<br />
<br />
{{hc|$ lsblk -f|<br />
NAME FSTYPE LABEL UUID MOUNTPOINT<br />
sda<br />
├─sda1 vfat C4DA-2C4D /boot<br />
├─sda2 swap 5b1564b2-2e2c-452c-bcfa-d1f572ae99f2 [SWAP]<br />
└─sda3 ext4 56adc99b-a61e-46af-aab7-a6d07e504652 /<br />
}}<br />
<br />
The beginning of the device name specifies the type of block device. Most modern storage devices (e.g. hard disks, [[SSD]]s and USB flash drives) are recognised as SCSI disks ({{ic|sd}}). The type is followed by a lower-case letter starting from {{ic|a}} for the first device ({{ic|sda}}), {{ic|b}} for the second device ({{ic|sdb}}), and so on. ''Existing'' partitions on each device will be listed with a number starting from {{ic|1}} for the first partition ({{ic|sda1}}), {{ic|2}} for the second ({{ic|sda2}}), and so on. In the example above, only one device is available ({{ic|sda}}), and that device has three partitions ({{ic|sda1}} to {{ic|sda3}}), each with a different [[file system]].<br />
<br />
Other common block device types include for example {{ic|mmcblk}} for memory cards and {{ic|nvme}} for [[NVMe]] devices. Unknown types can be searched in the [https://www.kernel.org/doc/html/latest/admin-guide/devices.html kernel documentation].<br />
<br />
=== ip ===<br />
<br />
[[Wikipedia:Iproute2|ip]] allows you to show information about network devices, IP addresses, routing tables, and other objects in the Linux [[Wikipedia:Internet Protocol|IP]] software stack. By appending various commands, you can also manipulate or configure most of these objects.<br />
<br />
{{Note|The ''ip'' utility is provided by the {{Pkg|iproute2}} package, which is included in the {{Grp|base}} group.}}<br />
<br />
{| class="wikitable"<br />
! Object !! Purpose !! Manual page<br />
|-<br />
| ip addr || protocol address management || {{man|8|ip-address}}<br />
|-<br />
| ip addrlabel || protocol address label management || {{man|8|ip-addrlabel}}<br />
|-<br />
| ip l2tp || tunnel Ethernet over IP (L2TPv3) || {{man|8|ip-l2tp}}<br />
|-<br />
| ip link || network device configuration || {{man|8|ip-link}}<br />
|-<br />
| ip maddr || multicast addresses management || {{man|8|ip-maddress}}<br />
|-<br />
| ip monitor || watch for netlink messages || {{man|8|ip-monitor}}<br />
|-<br />
| ip mroute || multicast routing cache management || {{man|8|ip-mroute}}<br />
|-<br />
| ip mrule || rule in multicast routing policy db ||<br />
|-<br />
| ip neigh || neighbour/ARP tables management || {{man|8|ip-neighbour}}<br />
|-<br />
| ip netns || process network namespace management || {{man|8|ip-netns}}<br />
|-<br />
| ip ntable || neighbour table configuration || {{man|8|ip-ntable}}<br />
|-<br />
| ip route || routing table management || {{man|8|ip-route}}<br />
|-<br />
| ip rule || routing policy database management || {{man|8|ip-rule}}<br />
|-<br />
| ip tcp_metrics || management for TCP Metrics || {{man|8|ip-tcp_metrics}}<br />
|-<br />
| ip tunnel || tunnel configuration || {{man|8|ip-tunnel}}<br />
|-<br />
| ip tuntap || manage TUN/TAP devices ||<br />
|-<br />
| ip xfrm || manage IPsec policies || {{man|8|ip-xfrm}}<br />
|}<br />
<br />
The {{ic|help}} command is available for all objects. For example, typing {{ic|ip addr help}} will show you the command syntax available for the address object. For advanced usage see the [http://www.policyrouting.org/iproute2.doc.html iproute2 documentation].<br />
<br />
The [[Network configuration]] article shows how the ''ip'' command is used in practice for various common tasks.<br />
<br />
{{Note|You might be familiar with the [[Wikipedia:ifconfig|ifconfig]] command, which was used in older Linux systems. It is deprecated in Arch Linux; use ''ip'' instead. }}<br />
<br />
=== ss ===<br />
<br />
''ss'' is a utility to investigate network ports and is part of the {{Pkg|iproute2}} package in the {{Grp|base}} group. It has a similar functionality to the [https://www.archlinux.org/news/deprecation-of-net-tools/ deprecated] netstat utility. <br />
<br />
Common usage includes:<br />
<br />
Display all TCP Sockets with service names:<br />
$ ss -at<br />
<br />
Display all TCP Sockets with port numbers:<br />
$ ss -atn<br />
<br />
Display all UDP Sockets:<br />
$ ss -au<br />
<br />
For more information see {{man|8|ss}} or {{ic|ss.html}} from the {{Pkg|iproute2}} package.<br />
<br />
== Miscellaneous ==<br />
<br />
{| class="wikitable"<br />
! Command<br />
! Description<br />
! Manual page<br />
! Example<br />
|-<br />
| strings<br />
| Show printable characters in binary files<br />
| {{man|1|strings}}<br />
| strings /usr/bin/free<br />
|}<br />
<br />
=== dd ===<br />
<br />
[[Wikipedia:dd (Unix)|dd]] is a utility for Unix and Unix-like operating systems whose primary purpose is to convert and copy a file.<br />
<br />
Similarly to ''cp'', by default ''dd'' makes a bit-to-bit copy of the file, but with lower-level I/O flow control features.<br />
<br />
Some notable applications of ''dd'' are:<br />
<br />
* [[Disk cloning#Using dd]],<br />
<br />
* Binary file patching: let say one wants to replace offset {{ic|0x123AB}} of a file with the {{ic|FF C0 14}} hexadecimal sequence, this can be done with the command line: {{bc|1=# printf '\xff\xc0\x14' {{!}} dd seek=$((0x123AB)) conv=notrunc bs=1 of=''/path/to/file''}}<br />
<br />
For more information see {{man|1|dd}} or the [https://www.gnu.org/software/coreutils/dd full documentation].<br />
<br />
{{Tip|By default, ''dd'' outputs nothing until the task has finished. To monitor the progress of the operation, add the {{ic|1=status=progress}} option to the command.}}<br />
{{Warning|One should be extremely cautious using ''dd'', as with any command of this kind it can destroy data irreversibly.}}<br />
<br />
=== iconv ===<br />
<br />
''iconv'' converts the encoding of characters from one codeset to another.<br />
<br />
The following command will convert the file {{ic|''foo''}} from ISO-8859-15 to UTF-8, saving it to {{ic|''foo''.utf}}:<br />
<br />
$ iconv -f ISO-8859-15 -t UTF-8 ''foo'' > ''foo''.utf<br />
<br />
See {{man|1|iconv}} for more details.<br />
<br />
==== Convert a file in place ====<br />
<br />
{{Tip|You can use {{pkg|recode}} instead of iconv if you do not want to touch the mtime.}}<br />
Unlike [[#sed|sed]], ''iconv'' does not provide an option to convert a file in place. However, {{ic|sponge}} from the {{pkg|moreutils}} package can help:<br />
<br />
$ iconv -f WINDOWS-1251 -t UTF-8 ''foobar''.txt | sponge ''foobar''.txt<br />
<br />
See {{man|1|sponge}} for details.<br />
<br />
=== od ===<br />
<br />
The [[Wikipedia:od (Unix)|od]] (''o''ctal ''d''ump) command is useful for visualizing data that is not in a human-readable format, like the executable code of a program, or the contents of an unformatted device. See the [https://www.gnu.org/software/coreutils/manual/html_node/od-invocation.html#od-invocation manual] for more information.<br />
<br />
=== seq ===<br />
<br />
''seq'' prints a sequence of numbers. Shell built-in alternatives are available, so it is good practice to use them as explained on [[Wikipedia:Seq (Unix)|Wikipedia]].<br />
<br />
=== tar ===<br />
<br />
As an early Unix archiving format, .tar files—known as "tarballs"—are widely used for packaging in Unix-like operating systems. Both [[pacman]] and [[AUR]] packages are compressed tarballs, and Arch uses [[GNU Project|GNU's]] ''tar'' program by default. <br />
<br />
For ''.tar'' archives, ''tar'' by default will extract the file according to its extension:<br />
<br />
$ tar xvf ''file.EXTENSION''<br />
<br />
Forcing a given format:<br />
<br />
{| class="wikitable"<br />
!File Type !! Extraction Command<br />
|-<br />
|{{ic|''file''.tar}} || {{Ic|tar xvf ''file''.tar}}<br />
|-<br />
|{{ic|''file''.tgz}} || {{Ic|tar xvzf ''file''.tgz}}<br />
|-<br />
|{{ic|''file''.tar.gz}} || {{Ic|tar xvzf ''file''.tar.gz}}<br />
|-<br />
|{{ic|''file''.tar.bz}} || {{Ic|bzip -cd ''file''.bz <nowiki>|</nowiki> tar xvf -}}<br />
|-<br />
|{{ic|''file''.tar.bz2}} || {{Ic|tar xvjf ''file''.tar.bz2}}<br> {{Ic|bzip2 -cd ''file''.bz2 <nowiki>| tar xvf -</nowiki>}}<br />
|-<br />
|{{ic|''file''.tar.xz}} || {{Ic|tar xvJf ''file''.tar.xz}}<br> {{Ic|xz -cd ''file''.xz <nowiki>| tar xvf -</nowiki>}}<br />
|-<br />
|{{ic|''file''.tar.zst}} || {{Ic|tar -I zstd xvf ''file''.tar.zst}}<br />
|}<br />
<br />
The construction of some of these ''tar'' arguments may be considered legacy, but they are still useful when performing specific operations. See {{man|1|tar}} for details.<br />
<br />
{{Note|Although GNU's ''tar'' is installed as the default ''tar'' program, official Arch Linux projects like [[pacman]] and [[mkinitcpio]] use ''bsdtar'' from the {{Pkg|libarchive}} package.}}<br />
<br />
=== wipefs ===<br />
<br />
{{Expansion|Why would you want to erase magic strings?}}<br />
<br />
''wipefs'' can list or erase [[file system]], [[RAID]] or [[partition|partition-table]] signatures (magic strings) from the specified device. It does not erase the file systems themselves nor any other data from the device.<br />
<br />
See {{man|8|wipefs}} for more information.<br />
<br />
For example, to erase all signatures from the device {{ic|/dev/sdb}} and create a signature backup {{ic|~/wipefs-sdb-''offset''.bak}} file for each signature:<br />
<br />
# wipefs --all --backup /dev/sdb<br />
<br />
== See also ==<br />
<br />
* [http://pubs.opengroup.org/onlinepubs/9699919799/idx/utilities.html POSIX Utilities]<br />
* [https://www.gnu.org/software/coreutils/manual/coreutils.html GNU Coreutils online documentation]<br />
* [http://www.reddit.com/r/commandline/comments/19garq/a_sampling_of_coreutils_120/ A sampling of coreutils on Reddit] [http://www.reddit.com/r/commandline/comments/19ge6v/a_sampling_of_coreutils_2040/ , part 2] [http://www.reddit.com/r/commandline/comments/19j1w3/a_sampling_of_coreutils_4060/ , part 3] - Overview of commands in coreutils<br />
* [https://www.linuxquestions.org/questions/linux-newbie-8/learn-the-dd-command-362506/ Learn the DD command]</div>Meskarunehttps://wiki.archlinux.org/index.php?title=Talk:Core_utilities&diff=534297Talk:Core utilities2018-08-12T22:05:22Z<p>Meskarune: suggestion to add back links to packages</p>
<hr />
<div>== <s>Is it possible we could organize this article **not** in alphabetical order?</s> ==<br />
<br />
For new users seeing a list of random 2-3 letter words in the ToC is hardly useful. Maybe we could have sections instead such as "Directories" with things like mkdir and ls, "Permissions" with chown, chmod, and "View files" with head, tail, cat, pagers, etc This would make it much easier for someone to learn how to do something like create/delete/edit a file. It would also make it much easier for a person to look up a command they have forgot the name of. This document organizes the core utils by function: https://www.gnu.org/software/coreutils/manual/coreutils.html#touch-invocation so maybe we could so something like that but much simpler and focus on tools people would need to know to install and configure Arch initially. [[User:Meskarune|Meskarune]] ([[User talk:Meskarune|talk]]) 03:05, 13 March 2018 (UTC)<br />
<br />
:Past discussion: https://wiki.archlinux.org/index.php?title=Talk:Core_utilities&oldid=334765 -- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 07:18, 13 March 2018 (UTC)<br />
:: I see, it sounds like they couldn't decide on groupings back then. I would propose just using the gnu groupings and only include the utils needed to install/configure and troubleshoot arch from the live CD. Keep the list some what small and then link to gnu's documentation. [[User:Meskarune|Meskarune]] ([[User talk:Meskarune|talk]]) 15:55, 5 April 2018 (UTC)<br />
<br />
:I agree that the utilities can be better organized. I propose to group the utilities and split ''Basic commands'' into ''File management'', ''Text streams'', ''System administration'' and ''Others''. See [[User:Larivact/Core utilities]]. I also ordered utilities by importance and grouped related ones together. --[[User:Larivact|Larivact]] ([[User talk:Larivact|talk]]) 10:41, 10 June 2018 (UTC)<br />
::Request for comments. --[[User:Larivact|Larivact]] ([[User talk:Larivact|talk]]) 04:51, 11 July 2018 (UTC)<br />
<br />
:::[[User:Larivact/Core utilities]] looks mostly good, except for the "Others". Ideally they should be properly categorized, but that might not be possible. How about naming the section "Miscellaneous" instead? Or maybe that would be even worse... -- [[User:nl6720|nl6720]] ([[User talk:nl6720|talk]]) 12:34, 11 July 2018 (UTC)<br />
<br />
::::Yeah "Miscellaneous" is better. Categories only make sense when there's more than one thing in them and I think that some structure is better than none. --[[User:Larivact|Larivact]] ([[User talk:Larivact|talk]]) 13:09, 11 July 2018 (UTC)<br />
<br />
== ln ==<br />
<br />
Looks like ''ln'' is missing. It would be useful as reference for [[symlink]], allowing to remove various explicit {{ic|$ ln -s ...}} from articles. ––&#160;[[User:Nl6720|<span style="font-family:serif; font-weight:bold; color:#800080;">nl6720</span>]]&#8239;[[User talk:Nl6720|<span style="color:#808080; vertical-align:super; font-size:smaller; font-weight:lighter;">talk</span>]] 16:53, 19 May 2016 (UTC)<br />
<br />
:It could be added, yes. Problem I see with crosslinking is that it is not easy to construct a sentence around it, because the target is the first argument. For example, try to crosslink {{ic|ln -s /dev/null /etc/pacman.d/hooks/70-dkms-install.hook}} .. <br />
:"To disable the {{ic|70-dkms-install.hook}} hook, [[symlink]] its name from {{ic|/etc/pacman.d/hooks/}} to {{ic|/dev/null}}." - works but is complicated. --[[User:Indigo|Indigo]] ([[User talk:Indigo|talk]]) 17:24, 19 May 2016 (UTC)<br />
<br />
::You could instead use {{ic|cp -s foo bar}}, which creates a symbolic link {{ic|bar}} to the first argument {{ic|foo}}. At least I wish I'd have known about this earlier, rather than be confused every time on what's the link, and what the target, with ''ln''. -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 17:38, 19 May 2016 (UTC)<br />
<br />
:::I don't know, a new section can indeed be useful to mention the counterintuitive syntax and the smart cp -s alternative, but about replacing symlink instructions with verbose instructions I tend to be against: compared to the more famous similar cases, I've always totally supported [[Help:Style#Package management instructions]] because it allows to easily link to packages and make sure that users are aware of all the package management best practices, but for example since the switch to systemd (with the short rc.d transition), I've always found it slightly hard to systematically enforce [[Help:Style#systemd units operations]], which —&nbsp;I have to be honest —&nbsp;exists only as an adaptation of the older rule that was used to describe the more complex initscripts method to enable/disable daemons. Introducing a new similar rule for symlinks would feel even less natural to me, IMHO reducing the readability of articles. — [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 05:07, 21 May 2016 (UTC)<br />
<br />
::::I don't see how cp is better: {{ic|cp -s foo bar}} does exactly the same as {{ic|ln -s foo bar}}. Both tools have the {{ic|-t}} flag to potentially swap the order of arguments.<br />
::::I agree with Kynikos: there are no gotchas to be described, so the explicit command is as clear and brief as it can be. As for [[Help:Style#systemd units operations]], I believe one of its points is to provide a choice between starting and enabling units, which is very cumbersome to describe with explicit code blocks.<br />
::::-- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 11:22, 21 May 2016 (UTC)<br />
<br />
::::: You can read the cp -s as "Copy foo symbolically to bar", 'copy' is more known/associated with the action and, thereby, intuitive than 'link' ("Link foo symbolically to bar"). --[[User:Indigo|Indigo]] ([[User talk:Indigo|talk]]) 12:42, 21 May 2016 (UTC)<br />
<br />
== Harmful aliases ==<br />
<br />
alias mkdir='mkdir -p -v'<br />
<br />
You mostly don't need {{ic|-p}}, if you use this alias and mistype a parent directory it creates a bunch of directories instead of failing.<br />
<br />
alias mv='timeout 8 mv -iv'<br />
<br />
This is a gem. If you use this alias and move a large file to another filesystem, timeout can terminate the move, resulting in an incomplete file without you noticing.<br />
<br />
alias rm='timeout 3 rm -Iv --one-file-system'<br />
<br />
And lastly all "security aliases" are dangerous because you get used to them, resulting in potential data loss when you use another system / user that doesn't have these aliases.<br />
<br />
I think the uses of {{ic|timeout}} should be removed and the danger of "security aliases" should be noted with [[Template:Warning]].<br />
<br />
--[[User:Larivact|Larivact]] ([[User talk:Larivact|talk]]) 10:32, 10 June 2018 (UTC)<br />
<br />
:I don't see why there should be any aliases in [[Core utilities]], the additional command line options they add can be explained without aliasing the command. I'm for removing them all. -- [[User:nl6720|nl6720]] ([[User talk:nl6720|talk]]) 11:51, 10 June 2018 (UTC)<br />
<br />
::I removed the timeout commands and added notes about "security aliases".--[[User:Larivact|Larivact]] ([[User talk:Larivact|talk]]) 07:11, 14 July 2018 (UTC)<br />
<br />
== Proposal to delete ==<br />
<br />
There is nothing Arch-specific about this page; it is just a miscellany of material from man pages. It adds nothing to the wiki other than a maintenance overhead.<br />
[[User:Jasonwryan|Jasonwryan]] ([[User talk:Jasonwryan|talk]]) 23:03, 3 August 2018 (UTC)<br />
<br />
: I agree, the majority of the information in the article seems to be directly copied from man pages and is completely redundant. Especially considering gnu's online documentation. For deletion to happen maybe all the articles that link back to this page can be edited to instead link to the man page for the program it is referencing. For future reference: https://wiki.archlinux.org/index.php/Special:WhatLinksHere/Core_utilities [[User:Meskarune|Meskarune]] ([[User talk:Meskarune|talk]]) 23:27, 3 August 2018 (UTC)<br />
<br />
:: There's no man page that provides an ''overview'' like this article does, though, be that on the functionality of the various tools or their available upstream documentation. -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 10:45, 4 August 2018 (UTC)<br />
<br />
::: I wanted to write essentially the same. This page duplicates information from man, but it provides overview which is lacking in manual. It is also a good starting page for new users (although the validity of this point is debatable given arch is oriented toward experience users...). This page may also contain some information specific to arch. By the way, there are no 'costs' of maintaining this page. --[[User:Mxfm|Mxfm]] ([[User talk:Mxfm|talk]]) 12:17, 4 August 2018 (UTC)<br />
<br />
::: This website actually provides a much better and more detailed over view than the current arch wiki page does: https://www.gnu.org/software/coreutils/manual/coreutils.html . My original idea was to edit the page to lightly introduce those programs essential for installing Arch Linux as a sort of pre-req. Having a list of commands and links to outside docs would help get new users started. Knowing what you need to know and having key words to google is half the battle when you are first starting out. However the current page that exists now is very redundant, nearly all of the content is copy/pasted from man pages and the gnu docs are far better anyways so I guess I can see the case for deletion, or if not deletion, then a total rewrite and change in scope.[[User:Meskarune|Meskarune]] ([[User talk:Meskarune|talk]]) 19:23, 8 August 2018 (UTC)<br />
<br />
:::: It's certainly ''detailed''. Presenting end-users with an encyclopedia on the most basic topics they are expected to be familiar with is not the best idea though.<br />
:::: As I mentioned below, I believe it's only a few sections that are problematic. Those should be addressed rather than delete this article and throw out the baby with the bathwater. -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 20:23, 8 August 2018 (UTC)<br />
<br />
::::This is what scares me about discussions such as [[Help talk:Template#Creation of Template:Out of scope]]: this page links to some other articles, e.g. [[Users and groups]], [[Man page]], [[File permissions and attributes]], [[Partitioning]], [[File systems]], [[RAID]], [[Sudo]], [[Systemd]]; imagine removing all non-Arch-specific content from them just because they are providing overviews and ''links'' to external resources, what would be left of our wiki? -- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 08:47, 5 August 2018 (UTC)<br />
<br />
::::The cost of maintaining the page refers to keeping the page up to date with the latest man pages for each package. That actually is a pretty high cost when the content on the page is literally copied and pasted from man pages and in order to stay updated you have to keep up with that. In that sense it takes far less time to just link people to the latest man page to read.[[User:Meskarune|Meskarune]] ([[User talk:Meskarune|talk]]) 19:23, 8 August 2018 (UTC)<br />
<br />
:::::I don't see where things are literally copied, apart from [[Core_utilities#Long_format]] which should arguably be removed from the article. Otherwise, this page is essentially what you describe - links to man pages, as well a short motivation why they are linked in the first place.<br />
:::::Mentioning "cost" is is a strange thing when none of the major contributors to the article have participated in this discussion. (I last did major changes in 2016 for example.) -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 20:23, 8 August 2018 (UTC)<br />
<br />
::::::[https://wiki.archlinux.org/index.php?title=Core_utilities&diff=532870&oldid=532687] -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 20:26, 8 August 2018 (UTC)<br />
<br />
:::::I still think the page is bloat; and that Arch users should be familiar with these tools *before* they install Arch. However, perhaps removing the obvious filler (the less long options) or the material that should reside on it's obvious parent page (vim as a pager), would be a start? [[User:Jasonwryan|Jasonwryan]] ([[User talk:Jasonwryan|talk]]) 21:03, 8 August 2018 (UTC)<br />
<br />
== Adding descriptions to section names ==<br />
<br />
Would it be possible to edit the titles for the commands? For example, in the table of contents just seeing "ls" isn't useful for a new person, but "ls - list files" would be. Maybe a very short description of function in each command name title would further help people find what they want to find in the article. [[User:Meskarune|Meskarune]] ([[User talk:Meskarune|talk]]) 19:55, 3 August 2018 (UTC)<br />
<br />
:There's already the table in [[Core utilities#File management]] so I'm unsure on the benefit -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 10:47, 4 August 2018 (UTC)<br />
<br />
:I [[Special:Diff/532949|undid your revisions]] as I don't see the point of descriptions at all. Wiki articles are meant to be read, ToCs don't need to be self-explanatory. --[[User:Larivact|Larivact]] ([[User talk:Larivact|talk]]) 12:42, 9 August 2018 (UTC)<br />
<br />
== Links to install packages ==<br />
<br />
In the intro paragraphs, the links to the packages that install the majority of core utils were removed: https://wiki.archlinux.org/index.php?title=Core_utilities&diff=prev&oldid=532951 I think they should be added back in the article so people know what package brought those programs in.</div>Meskarunehttps://wiki.archlinux.org/index.php?title=Yt-dlp&diff=534278Yt-dlp2018-08-12T20:46:45Z<p>Meskarune: /* Tips and tricks */ added tip for a bash alias</p>
<hr />
<div>{{Lowercase title}}<br />
[[Category:Download utilities]]<br />
[[Category:Streaming]]<br />
[[ja:Youtube-dl]]<br />
{{Related articles start}}<br />
{{Related|mpv}}<br />
{{Related|FFmpeg}}<br />
{{Related articles end}}<br />
[https://youtube-dl.org/ youtube-dl] is a command-line program that lets you easily download videos and audio from more than a thousand websites. See the [https://github.com/rg3/youtube-dl/blob/master/docs/supportedsites.md list of supported sites].<br />
<br />
== Installation ==<br />
<br />
[[Install]] the {{Pkg|youtube-dl}} package, or {{AUR|youtube-dl-git}} for the development version.<br />
<br />
== Usage ==<br />
<br />
See the {{man|1|youtube-dl}} [[man page]].<br />
<br />
$ youtube-dl [OPTIONS] ''URL''<br />
<br />
=== Format selection ===<br />
<br />
In cases where multiple formats of a video are available, youtube-dl will default to downloading the best possible version. If you'd like to choose a specific format to download, first get a list of the available formats:<br />
<br />
$ youtube-dl -F ''URL''<br />
<br />
Note the format code for the version you want, and then run:<br />
<br />
$ youtube-dl -f ''format'' ''URL''<br />
<br />
You can often download audio-only or video-only formats this way. If you have [[FFmpeg]], you can download both a video-only and audio-only format and mux them together into a single file:<br />
<br />
$ youtube-dl -f ''video_format''+''audio_format'' ''URL''<br />
<br />
=== Extract audio ===<br />
<br />
Use {{ic|-x}} for audio-only downloads (requires [[FFmpeg]]).<br />
<br />
$ youtube-dl -x -f bestaudio ''URL''<br />
<br />
== Configuration ==<br />
<br />
The system-wide configuration file is {{ic|/etc/youtube-dl.conf}} and the user-specific configuration file is {{ic|~/.config/youtube-dl/config}}<br />
<br />
The syntax is simply one command-line option per line. See the {{man|1|youtube-dl}} [[man page]] for supported options. Example configuration:<br />
<br />
{{hc|1=~/.config/youtube-dl/config|2=<br />
# Save in ~/Videos<br />
-o ~/Videos/%(title)s.%(ext)s<br />
<br />
# Prefer 1080p or lower resolutions<br />
-f (bestvideo[height<=1080]/bestvideo)+bestaudio/best[height<=1080]/best<br />
}}<br />
<br />
== Tips and tricks ==<br />
<br />
=== Increasing download speeds ===<br />
<br />
Some websites throttle download speeds. You can often increase speeds by using [[Aria2]], an external downloader which supports multi-connection downloads. Example:<br />
<br />
$ youtube-dl --external-downloader aria2c --external-downloader-args '-c -x 5 -k 2M' ''URL''<br />
<br />
=== Trim ===<br />
<br />
Parts of [[wikipedia:Dynamic_Adaptive_Streaming_over_HTTP|DASH]] videos can be downloaded by using the output of {{ic|youtube-dl -g -f ''format'' ''URL''}} as ''ffmpeg'' input with the {{ic|-ss}}, {{ic|-t}} and {{ic|-c copy}} [http://ffmpeg.org/ffmpeg.html#Main-options options].<br />
<br />
=== Alias to download url from xclip ===<br />
<br />
You can set an alias in {{ic|~/.bashrc}} or {{ic|~/.zshrc}} to download a video/audio file from a url in the clipboard. For example:<br />
<br />
alias yt='youtube-dl "$(xclip -o)"'<br />
<br />
== See also ==<br />
<br />
* [https://github.com/rg3/youtube-dl GitHub repository] for documentation.</div>Meskarunehttps://wiki.archlinux.org/index.php?title=Talk:List_of_applications&diff=534174Talk:List of applications2018-08-12T20:34:12Z<p>Meskarune: /* Link subpages instead of transcluding them */ agree, also suggested limiting the number of applications per section, point out very slow load time</p>
<hr />
<div>== Categorization ==<br />
=== Classification troubles ===<br />
Can "CD/DVD Burning Tools" be considered part of "Multimedia"?<br />
Should "Screen Capture" section be part of "Utilities" or "Multimedia"? --[[User:AlexanderR|AlexanderR]] 21:10, 16 January 2012 (EST)<br />
<br />
:Eh I'm afraid we'll just have to establish a convention: I'd say Burning tools in Multimedia and Screen Capture in Utilities? Let's wait for more opinions. -- [[User:Kynikos|Kynikos]] 07:53, 17 January 2012 (EST)<br />
<br />
::As I see, '''CD/DVD Burning Tools''' are already a part of '''Multimedia'''. '''Screen Capture''', I think, must be in '''Utilities'''.<br />
::And there's another question from russian users. '''OCR software''' isn't a reader or viewer, so it must be before or after '''1.9 Note taking organizers''' with corresponding number '''1.9''' or '''1.10'''<br />
::UPD. Also, there's a good idea to add in this section some (or all) progs from [[Optical Character Recognition]] -- [[User:Kycok|Kycok]] ([[User talk:Kycok|talk]]) 05:32, 11 April 2014 (UTC)<br />
<br />
:::Um... "Utilities" is practically a default category for applications that don't fit anywhere else: since "Screen capture" is kind of related to "Multimedia", it would probably be better to leave it there (thus changing the opinion I expressed above, I think I'm allowed, after more than 2 years :P ).<br />
:::I'm quite neutral about moving "OCR software" in the tree: it is related to "Scans", but maybe not so closely. I'm also neutral about merging [[Optical Character Recognition]] there: actually that article doesn't contain anything except for a short list of applications, so it could indeed be merged.<br />
:::Anyone with a stronger position on the topic? -- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 14:12, 11 April 2014 (UTC)<br />
<br />
::::So, I've made corresponding changes in '''Documents''' section. Also I've merged '''Pdf''' and '''DjVu''', because many progs in '''Pdf''' works with DjVu. I've deleted tool '''fbdjvu''', because, as I see, it's merged with '''fbpdf'''.<br />
::::Let's talk if there's another opinions about my changes -- [[User:Kycok|Kycok]] ([[User talk:Kycok|talk]]) 09:59, 14 April 2014 (UTC)<br />
<br />
:::::Well done, except you forgot to redirect [[Optical Character Recognition]], [https://wiki.archlinux.org/index.php?title=Optical_Character_Recognition&diff=310498&oldid=273112 fixed] now :) -- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 12:53, 15 April 2014 (UTC)<br />
<br />
<br />
I have submitted a AUR package for {{AUR|sendanywhere}}, a cross-platform p2p file sharing utility (similar to Pushbullet, but with standalone software client). I am not sure under which section I should include it. It is definitely not FTP based or bittorrent based. Should it go under '''Downloaders''' or '''Communications'''; also, shall I start a new subsection, maybe called '''p2p file sharing/pushing'''? [[User:Jadelord|Jadelord]] ([[User talk:Jadelord|talk]]) 11:17, 6 January 2016 (UTC)<br />
<br />
:I've just created [[List_of_applications/Internet#Other_P2P_networks]], I think that's the best place for the moment. — [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 03:11, 7 January 2016 (UTC)<br />
<br />
=== Link subpages instead of transcluding them ===<br />
Just wondering if it would be better to completely split the article up into separate articles, rather than transcluding everything back in as templates. Perhaps just include links and a brief summary of each category in the top-level page, maybe something along the lines of:<br />
<br />
{{META Box | | This page has various categories of programs and points to lists of programs in those categories. It is a useful starting point for finding a program for a specific application. [Introduce console versus graphical.]<br />
<br />
'''[[Common Applications/Internet | Internet]]''' including network configuration, and clients or browsers for web sites, FTP, file sharing, chat and email messaging, web feeds, and microblogging<br />
<br />
'''[[Common Applications/Multimedia | Multimedia]]''' including viewers, players and editors for raster, vector, 3D, CAD, audio and video, GUI capture, systems for accessing audio devices, audio CD rippers, and e-book programs.<br />
<br />
'''[[Common Applications/Utilities | Utilities]]''', which covers package management, file managers including space usage, compression and merge tools, optical disc burning, clipboards, GUI taskbars.<br />
<br />
'''[[Common Applications/Documents | Documents]]''': readers for printable files like PDFs, office suites, word processors, spreadsheets, text search, OCR<br />
<br />
'''[[Common Applications/Security | Security]]''': firewalls; file, network and log monitoring, scanning and analysis; backup<br />
<br />
'''[[Common Applications/Games | Games]]''': native and emulators<br />
<br />
'''[[Common Applications/Science | Science]]''': calculators, visualisation, design, programming environments and other tools for maths, chemistry, biology, astronomy, electronics and physics<br />
<br />
'''[[Common Applications/Other | Other]]''': note taking and scheduling; translation; desktop environments and window managers; terminals; OS monitors; text editors<br />
<br />
'''See also''' [other general lists of programs]}}<br />
<br />
Smaller individual pages would be nicer, because often I’m only interested in programs for a specific application, such as (in the past) [[Common Applications/Science#Electronics | Science#Electronics]], and [[Common Applications/Multimedia#GUI players | Multimedia#GUI players]] (audio). Even using the TOC, I think currently it’s too easy to get lost or overwhelmed. [[User:Vadmium|Vadmium]] 00:18, 26 January 2012 (EST).<br />
<br />
:I think the main problem here is that if I'm looking for a particular subcategory I have to guess under which main category it can be, while currently, with the comprehensive ToC, that task is easier. Possible compromise: maintain a "manual" Table of Contents in the top-level page, with links to the various subpages/subsections. Let's hear more opinions. -- [[User:Kynikos|Kynikos]] 07:53, 26 January 2012 (EST)<br />
<br />
: The page is gigantic and loads very slowly on my internet connection, so I think splitting into subpages is a good idea. Maybe the page length could also be reduced by only having the top 5 most used/useful apps for each category. I am hesitate about that suggestion as I have also found some more obscure but very useful things on this page, but it has gotten to be so unwieldy to navigate now. We could also have the "alternative to" website under a "see also" section as well as links to other external linux package lists.[[User:Meskarune|Meskarune]] ([[User talk:Meskarune|talk]]) 20:34, 12 August 2018 (UTC)<br />
<br />
==See also visibility==<br />
Does somebody have any idea on how to improve the visibility of the See also section? -- [[User:Kynikos|Kynikos]] 07:13, 23 January 2012 (EST)<br />
:Its probably not in good style, but could we add an [[Writing Article Overviews| article overview]], and have an article summary section containing the see also links?--[[User:Leocp1|Leocp1]] 16:59, 23 January 2012 (EST)<br />
::@Leocp1 What links are you talking about? Wiki links already should be covered by [[Template:Article_summary_wiki]]), among others I'd prefer to see only '''important''' ones (like links to software home page, documentation, own wiki etc) included included in the template. --[[User:AlexanderR|AlexanderR]] 19:11, 23 January 2012 (EST)<br />
:::I've written a summary in the subsection below and added some other ideas: currently I think solution 4 may be the tidiest and best looking, otherwise I'd try solution 1 as a second choice. Please add your opinions there so we can make a better decision.<br />
:::@AlexanderR We're talking about the See also links at the bottom of the article, not the links specific to each application, which should stay in the proper App template and/or the related wiki article (I'm not sure if that's what you meant).<br />
:::-- [[User:Kynikos|Kynikos]] 07:38, 24 January 2012 (EST)<br />
::::Who in the world uses this links at all? Wikipedia does not have any links at the bottom of articles except proofs of written or ones in categories templates. We do not provide proofs.. Or do we? And it would be great to see statistics of clicks on such links... --[[User:AlexanderR|AlexanderR]] 08:01, 24 January 2012 (EST)<br />
:::::Not sure if I'm on the same page as you, but many Wikipedia articles have 'External links' section at the bottom, below the references and above the 'Related articles' part. Have a look at e.g. http://en.wikipedia.org/wiki/Uefi article. It has 'See also', 'References' and 'External links' sections. -- [[User:Karol|Karol]] 08:43, 24 January 2012 (EST)<br />
<br />
<br />
<br />
===Ideas so far===<br />
#Move all see-also links to article summary --[[User:Leocp1|Leocp1]] 16:59, 23 January 2012 (EST)<br />
#*PROS:<br />
#**Currently style compliant (but see related con) -- [[User:Kynikos|Kynikos]] 07:38, 24 January 2012 (EST)<br />
#*CONS:<br />
#**There's little room for long URLs and/or descriptions, unless we want to see ugly line wrapping. -- [[User:Kynikos|Kynikos]] 07:38, 24 January 2012 (EST)<br />
#**It's possible that in the future the style for article summaries will be reformed not to allow external links anymore, requiring them to be in See also sections only. -- [[User:Kynikos|Kynikos]] 07:38, 24 January 2012 (EST)<br />
#Move only important see-also links to article summary --[[User:AlexanderR|AlexanderR]] 19:11, 23 January 2012 (EST)<br />
#*PROS:<br />
#**Same as 1.<br />
#**No problems with line wrapping. --[[User:AlexanderR|AlexanderR]] 23:48, 3 February 2012 (EST)<br />
#**In many articles links to site/Wikipedia/etc. are already located in random places in text. Placing them all into single template at the top will hardly make "See also" section less visible than now. --[[User:AlexanderR|AlexanderR]] 23:48, 3 February 2012 (EST)<br />
#*CONS:<br />
#**Same as 1.<br />
#**The See also section will be even more "buried" at the bottom of the article, becoming practically useless. -- [[User:Kynikos|Kynikos]] 07:38, 24 January 2012 (EST)<br />
#Find a new name instead of "See also", move the section at the top, as the first section (and change its layout, e.g. use 2 columns?). -- [[User:Kynikos|Kynikos]] 07:38, 24 January 2012 (EST)<br />
#*PROS:<br />
#**Links are immediately accessible and there's room for long URLs and descriptions. -- [[User:Kynikos|Kynikos]] 07:38, 24 January 2012 (EST)<br />
#*CONS:<br />
#**Incosistent with the other articles, may look ugly. -- [[User:Kynikos|Kynikos]] 07:38, 24 January 2012 (EST)<br />
#Link to [[#See also]] from the introduction, with a sentence that enhances its visibility. -- [[User:Kynikos|Kynikos]] 07:38, 24 January 2012 (EST)<br />
#*PROS:<br />
#**Style compliant. -- [[User:Kynikos|Kynikos]] 07:38, 24 January 2012 (EST)<br />
#**The main content of the article is still shown first. -- [[User:Kynikos|Kynikos]] 07:38, 24 January 2012 (EST)<br />
#*CONS:<br />
#**Links are not evident at a glance unlike the solutions above. -- [[User:Kynikos|Kynikos]] 07:38, 24 January 2012 (EST)<br />
<br />
== Order of things? ==<br />
<br />
Is there any special order to these lists?<br />
<br />
For instance, under "Internet" it would seem more intuitive to begin with "Network Managers", then "Browsers", then a section for "Downloaders". and so on.<br />
[[User:Idomeneo1|Idomeneo1]] ([[User talk:Idomeneo1|talk]]) 00:51, 20 January 2014 (UTC)<br />
<br />
:"Intuitive" is subjective, I'd just simply use alphabetical order, although I know it's not used anywhere at the moment... -- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 21:07, 20 January 2014 (UTC)<br />
<br />
::Call it chronological? i.e. an order in which people (especially beginners) would think of setting things up - network, browser, communication, downloads, media etc.<br />
::The problem with alphabetical lists is that even if we decide on "correct" terms for things, some people will, i.e., look for 'console', and others for 'terminal'.<br />
::[[User:Idomeneo1|Idomeneo1]] ([[User talk:Idomeneo1|talk]]) 14:10, 21 January 2014 (UTC)<br />
<br />
:::Eheh a similar objection could be made for the "chronological" order, which, as I said, is subjective, e.g. some people may want to install messaging apps before p2p or vice versa. Maybe what you really mean is a "dependency" order, i.e. if in a group of sections there's one that lists applications (e.g. network managers) that may be necessary for applications in other groups to work, then put it at the top. I can agree with that, also because other sections like the various "Other" should instead better be kept at the bottom. All the in-between sections, though, should be sorted alphabetically: the problem of synonyms would affect any kind of odering we may choose, and in general it affects all kinds of word lists (e.g. dictionaries), so users are used to dealing with it.<br />
:::If you're willing to do the reordering, please do it in several little edits, not a single big one.<br />
:::-- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 07:13, 22 January 2014 (UTC)<br />
<br />
::::Yes, having "Other" at the end is exactly the kind of order I mean.<br />
::::[[User:Idomeneo1|Idomeneo1]] ([[User talk:Idomeneo1|talk]]) 15:25, 22 January 2014 (UTC)<br />
<br />
== List dead projects or not? ==<br />
[https://wiki.archlinux.org/index.php?title=List_of_Applications/Multimedia&diff=next&oldid=296040 Kino is dead], it doesn't even have a maintainer in the AUR. Is it OK to remove dead-but-still-working applications from the list in the wiki? -- [[User:Karol|Karol]] ([[User talk:Karol|talk]]) 14:16, 3 February 2014 (UTC)<br />
<br />
:I wouldn't really know what's best to do, but if the application is confirmed to be still working, ''keep''ing it in the list should be the default action until somebody proves that listing it is counterproductive in some way. Of course a note about the EOL should be added if restored. -- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 15:50, 4 February 2014 (UTC)<br />
<br />
[http://www.afterstep.org/aterm.php The aterm project website] has been directing people to use urxvt instead since 2008. I've noticed quite a few projects in the maintainer-doesn't-even-advise-using-it category on this page and I don't see what purpose they serve. [[User:RyneEverett|Ryne Everett]] ([[User talk:RyneEverett|talk]]) 02:26, 13 December 2014 (UTC)<br />
<br />
:Well, the apps whose ''upstream'' maintainers explicitly discourage using them can indeed be removed, possibly making sure that any indicated alternative is already present in this list, adding it otherwise. Just note that, taking your post literally, "not advising to" is different from "discouraging to" (the aterm case falls indeed in the latter case) :) Please state the reason for removing applications from the list using the edit summary. -- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 02:32, 14 December 2014 (UTC)<br />
<br />
::I propose a deprecation warning, especially in the security subpage. there are numerous projects listed, that might still work, but are not developed anymore. this renders them insecure, as malware recognition needs to keep up with developement. This concerns rkhunter, chkrootkit and also the currently unlisted unhide. [[User:Fordprefect|Fordprefect]] ([[User talk:Fordprefect|talk]]) 12:35, 2 September 2016 (UTC)<br />
<br />
:::I think it's too soon to talk on warnings like that when there's hundreds of dead AUR packages on the list... -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 15:41, 2 September 2016 (UTC)<br />
<br />
::::Well, for packages meant to improve security concerning malware, frequent updates are no bonus, but crucial. a simple note would help users distinguish more and less active projects. [[User:Fordprefect|Fordprefect]] ([[User talk:Fordprefect|talk]]) 17:17, 2 September 2016 (UTC)<br />
<br />
:::::At least rkhunter is still in the official repos, and John Horne, the [http://rkhunter.cvs.sourceforge.net/viewvc/rkhunter/rkhunter/files/ACKNOWLEDGMENTS current] main developer is still answering posts in the [https://sourceforge.net/p/rkhunter/mailman/rkhunter-users/ mailing list]. — [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 01:12, 3 September 2016 (UTC)<br />
<br />
== <s>What is Xpra, really?</s> ==<br />
<br />
Where should [[Xpra]] go? Technically, remote desktop may be applicable, but it's not limited to remote stuff. You can run<br />
it locally on another X display.<br />
<br />
Technically, all Xpra is is some persistent X sessions that you can attach to and detach from at any time. It's not ''really''<br />
a remote desktop thing.<br />
[[User:Dillebidum|Dillebidum]] ([[User talk:Dillebidum|talk]]) 17:27, 10 January 2017 (UTC)<br />
<br />
:Does it ''have'' to go anywhere? -- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 18:09, 10 January 2017 (UTC)<br />
<br />
::Technically, yes. This ''is'' the list of applications, so why not? Xpra is a "screen for X". That way, the least vague thing to do would be to split terminal multiplexers into a multiplexers category and there would be two subcategories: terminal and X11. Xpra would, ''obviously'' be in X11. I say least vague, since screen is a multiplexer, yet Xpra isn't. The only thing it has in common with screen is the persistent sessions. [[User:Dillebidum|Dillebidum]] ([[User talk:Dillebidum|talk]]) 20:37, 11 January 2017 (UTC)<br />
<br />
:::It's just ''a'' list of applications, not list of ''all'' applications. The point is that there might be other, more appropriate places on the wiki, e.g. improving [[Allow a program to continue after logoff]]. -- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 21:10, 11 January 2017 (UTC)<br />
<br />
== Scope of the page ==<br />
<br />
It seems that this page is becoming a bloated index for all possible "lists" on the wiki, or maybe even the whole wiki itself. There are other pages to help users find what they are looking for, e.g. [[Table of contents]], [[General recommendations]] and of course the full-text search. Therefore I think that the [[List of applications]] should be a ''comprehensible'' list of the most common categories of application software and not a ''comprehensive'' list of everything. I believe that the index pages can have separate targets and cooperate with each other to provide a complete picture instead of overlapping and hindering readability by linking to each other.<br />
<br />
I propose the following:<br />
<br />
* remove [[List_of_applications/Workspace#Command_shells]] - one does not look for an alternative shell "just because", but to solve some specific problem or inconvenience, which is out of the reach of this page ([[General_recommendations#Console_improvements]] covers it quite nicely)<br />
* <s>I do not consider the things linked from [[List_of_applications/Workspace#Bootsplash]] to be "applications" and would like it removed. An explicit link to [[:Category:Bootsplash]] could be added to [[General_recommendations#Appearance]], although it already links to its parent category: [[:Category:Eye candy]].</s><br />
* remove [[List_of_applications/Workspace#Display_managers]], [[List_of_applications/Workspace#Desktop_environments]], [[List_of_applications/Workspace#Window_managers]] and [[List_of_applications/Workspace#Composite_managers]] - the topic is much better covered in [[General_recommendations#Graphical_user_interface]] (the two packages from [[List_of_applications/Workspace#Window_managers]] could be moved to [[General_recommendations#Console_improvements]])<br />
* <s>remove [[List_of_applications/Workspace#Accessibility]]</s> - it is a topic of its own, not just about selecting applications<br />
* <s>remove [[List_of_applications/Utilities#Databases]]</s> - they are certainly not utilities (so much less applications), but complex systems consisting of many deamons, utilities and interfaces designed to work together<br />
* <s>remove the [[List_of_applications/Internet#Web_Servers]] section:</s><br />
** <s>merge [[List_of_applications/Internet#LAMP_stack]] to [[Server#LAMP]]</s> - I doubt it is useful for an average user<br />
** <s>remove [[List_of_applications/Internet#Wiki_engines]]</s> - it is very incomplete and like above, not useful<br />
** <s>move [[List_of_applications/Internet#Content_management.2C_social_networks.2C_blog_publishers]] back to [[List_of_applications/Internet#Blog_engines]]</s><br />
** <s>move [[List_of_applications/Internet#Cloud_storage_servers]] under [[List_of_applications/Internet#File_sharing]]</s><br />
<br />
-- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 14:44, 2 March 2017 (UTC)<br />
<br />
:I've undone most of the structural changes to [[List of applications]] (starting with [https://wiki.archlinux.org/index.php?title=List_of_applications/Workspace&oldid=469393]) due to their one-sided nature. A radical restructure of one of the most popular wiki articles requires a consensus that isn't (yet) reached here. -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 14:38, 15 March 2017 (UTC)<br />
<br />
:About Display managers et al., perhaps we should just have a general header such as "Graphical user interface" and link to [[General recommendations#Graphical user interface]]. The idea is that the sections in question contain little more than single wiki links and as such add TOC entries to little benefit. As touched upon in [[#Merge sections to category pages]], a comprehensive TOC is already served by [[Table of Contents]] and there's no need for this page to compete. We could remind users of this by placing a link to [[Table of contents]] somewhere at the top.<br />
:Other sections such as [[List_of_applications/Other#Window_tilers]] could further be moved to their respective articles (here [[Window manager]]) to have all information in one place.<br />
:If this approach works out, we could use it to reduce [[List of applications/Other]] and [[List of applications/Utilities]] in size and merge the articles accordingly, as a compromise until a better approach is agreed upon in [[#Merge sections to category pages]]. -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 14:48, 15 March 2017 (UTC)<br />
<br />
::I think that "Graphical user interface" is too general, it might attract items or crosslinks to other sections for anything with a GUI. We might call it "Custom desktop environment" or something like that to group [[List_of_applications#Taskbars_.2F_panels_.2F_docks]], [[List_of_applications#Application_launchers]], [[List_of_applications#Wallpaper_setters]], [[List_of_applications#Virtual_desktop_pagers]], [[List_of_applications#Logout_dialogue]] and probably also [[List_of_applications#Screen_lockers]]. It could contain links to [[General recommendations]], [[Window manager]] etc. but I wouldn't merge them anywhere until the recategorization discussed in [[#Merge sections to category pages]] is finished. -- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 15:15, 15 March 2017 (UTC)<br />
<br />
:::See [https://wiki.archlinux.org/index.php?title=List_of_applications/Other&diff=470830&oldid=470804], [https://wiki.archlinux.org/index.php?title=List_of_applications/Other&diff=470831&oldid=470830].<br />
:::I've kept [[List of applications/Other#Window managers]], [[List of applications/Other#Window tilers]] and [[List_of_applications/Other#Taskbars_.2F_panels_.2F_docks]] (latter could use a simpler name?) under the same [[List of applications#Desktop environments]] header because they're equally a part of a [[Desktop environment]] just like e.g. an application launcher is. We can always remove those items later on a restructure. -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 18:10, 15 March 2017 (UTC)<br />
<br />
::::Some more candidates:<br />
::::*[[List of applications/Utilities#Files]]. Naming the header "files" is ambiguous at best; "File management" would be better but there's already [[List of applications/Utilities#File managers]]...<br />
::::*[[List_of_applications/Utilities#Disk_usage_display]] could fit under the more general [[List of applications/Utilities#System monitoring]], however [[List_of_applications/Utilities#Disk_usage_display]] is right next to it. However, [[List_of_applications/Utilities#Partitioning_tools]] is also a "disk" related topic.<br />
::::*[[List_of_applications/Utilities#Keyboard_layout_switchers]] may be better suited for [[List_of_applications/Other#Desktop_environments]]. Then again it's related to [[List_of_applications/Utilities#Input_methods]]<br />
::::So yes, I've also taken on the hard task of properly classifying entries in the "Other" categories. Though I would say completing this will make discussing proper alternatives easier. -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 17:41, 15 March 2017 (UTC)<br />
<br />
=== Merge sections to category pages ===<br />
<br />
Warning: extreme brainstorming, join at your own risk.<br />
<br />
I agree with Lahwaacz about the fact that this page is becoming bloated and overlapping with the other index pages. However I also think that the very existence of this article (and its subsections) encourages Idomeneo1's approach, and honestly I don't think it's Simple anymore to understand what to keep here and what not, what to interlink where and what not etc., any solution still looks a bit arbitrary to me.<br />
<br />
I was thinking, perhaps we could kill this page completely and merge the various sections in the appropriate Category pages, taking the chance to improve the [[Table of contents|Category tree]], possibly also creating empty categories if needed, which would function as placeholders in that case, or each Category could still contain a main section and some subsections. I think that our current [[Table of contents]] already has some resemblance with the ToC of this article, so that scope overlapping/duplication may be the root cause of the parent discussion. Categories can also have multiple parents, which would address the current problem of having to interlink sections of this article with each other. Another advantage is that users would get more used to look into the Category page of an article, not only to find related articles, but now also to find related software that may not have wiki articles. Another advantage is that when creating an article about a piece of software it's already clear where to categorize it.<br />
<br />
Disadvantages: we lose the ability to see all the applications in the same page. (and...?)<br />
<br />
Last thing, I think that this idea would look the best if the app lists were changed to tables, as we discussed a long time ago in [[Talk:List of games]] and now I tried in [[User:Kynikos/App]]. [[Template:App]] can be changed to create a table row very easily, but I'd also like to discuss restructuring it as shown at the bottom of [[User:Kynikos/App#Terminal emulators]], which IMO gives info less redundantly.<br />
<br />
Enough :) — [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 18:12, 5 March 2017 (UTC)<br />
<br />
:Currently we have a rule that if category A has a subcategory B, pages in B cannot be categorized also in A. I'd imagine that the application lists/tables would follow similar rule to avoid duplication, so we'd also lose the ability to see all applications in category A on the same page. Depending on how the actual categorization would look like, this might be important disadvantage - consider e.g. the subsections of [[List_of_applications#File_sharing]].<br />
:-- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 21:33, 5 March 2017 (UTC)<br />
<br />
::Personally I don't think that viewing the whole [[List of applications#File sharing]] section in the same page is so useful; seeing its section structure in the ToC is useful, but that would be preserved in the automated category tree. As I wrote, we could allow subsections in Category pages, for example to keep non-specific distinctions like console/graphical or client/server. We could also instruct toc.py to read section headings in Category pages and show them in the generated ToC (perhaps only under [[:Category:Applications]]). Finally, it wouldn't be a violation of the DRY principle if we also generated pages that collate the contents of some Categories and their descendants, of course protecting them from manual editing. — [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 05:56, 6 March 2017 (UTC)<br />
<br />
:::On second thought, [[:Category:Applications]] currently has only 2 levels of subcategories so I think the problem mentioned above does not apply. If more levels appear in the future, I'd imagine it would be for a reason and even then it might not be so terrible. The parent tables or their captions might even contain a link to the subcategory tables to make them more visible instead of duplicating them. -- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 18:25, 8 March 2017 (UTC)<br />
<br />
:::On third thought, we might even start with splitting up this very page, i.e. do [[#Link subpages instead of transcluding them]] + an autogenerated ToC list of sections on all subpages. -- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 18:33, 8 March 2017 (UTC)<br />
<br />
::::I'm still in favor of [[#Link subpages instead of transcluding them]], it works as an improvement and a compromise for me. — [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 15:31, 9 March 2017 (UTC)<br />
<br />
:I was actually thinking that for applications which have a wiki page, browsing [[:Category:Applications]] instead of this page should give basically the same results (maybe some small subsections are squashed together, but that's not a problem). To make things simple(r), we might just say that topics which have most pages outside of [[:Category:Applications]] don't belong here and should be linked externally. Usually such topics have an introduction page, such as [[Server]], [[Xorg]] or [[Desktop environments]]. There would be a huge problem with "Utilities" and "Security" though. Also this approach would probably not cut the bloat enough.<br />
:-- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 21:33, 5 March 2017 (UTC)<br />
<br />
::As I said, I think that trying to find a clear rule to define what belongs in this page or not is too hard, there are too many blurred cases, as also seen in the parent discussion. IMHO the bloat problem of this article can't be reduced to only some sections in [[List of applications/Workspace]]: I like your "I think that the List of applications should be a comprehensible list of the most common categories of application software and not a comprehensive list of everything", but to me "List of applications" practically does sound like "List of everything", which is why I say that the problem is the whole article itself. — [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 15:19, 8 March 2017 (UTC)<br />
<br />
:::Well think that we can cut it in halves: I don't see many problems with [[List of applications/Internet]], [[List of applications/Multimedia]], [[List of applications/Documents]] and [[List of applications/Science]] - they are all with individual sections or even list entries, but the overall scope is clear. On the other hand, most of the "applications" listed on the remaining pages, [[List of applications/Workspace]], [[List of applications/Utilities]], [[List of applications/Security]] and [[List of applications/Other]], fall simply under "Utilities". From what the current page looks like, I think it's roughly like "Desktop utilities", "System administration utilities", "Security utilities" and (shrugs) "Other utilities", but there are many overlaps so it's probably not very useful to make this differentiation and it would be better to call them just "Utilities". Btw. I think that the category tree has generally the same problem with arbitrary decisions: somehow I don't see a common idea behind [[:Category:Command shells]] under [[:Category:Applications]] and [[:Category:Desktop environments]] under [[:Category:System administration]]. So that's the problem - do you see a way out? -- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 19:29, 8 March 2017 (UTC)<br />
<br />
::::Let's use the branch above about the destiny of this article.<br />
::::About the categories, as you say the problem is similar, I don't think there's much to do other than solve case by case: I'm in favor of moving [[:Category:Command shells]] and also [[:Category:Status monitoring and notification]] and [[:Category:Terminal emulators]] under [[:Category:System administration]]. Another thing that I'd do is rename [[:Category:Networking]] to [[:Category:Network administration]], and move only to [[:Category:Applications]] what doesn't fit there anymore, in particular [[:Category:Internet applications]], [[:Category:Telephony and voice]] and probably also [[:Category:Remote desktop]], plus possibly recategorize some articles which are currently directly under [[:Category:Networking]]. At that stage I would also consider renaming [[:Category:System administration]] to [[:Category:Host administration]] to remark the ''ideal'' complementarity of the two *_administration categories.<br />
::::— [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 15:31, 9 March 2017 (UTC)<br />
<br />
:The category tree / table of contents lists wiki pages, not apps - an app would have to have a special wiki page just to be mentioned, and even then, there is old cruft in the wiki pages as well. And that is ''much'' harder to clean up than a list.<br />
:I definitely agree the categories need improvement.<br />
:--[[User:Idomeneo1|Idomeneo1]] ([[User talk:Idomeneo1|talk]]) 00:09, 7 March 2017 (UTC)<br />
<br />
::Probably I didn't explain it very clearly, but my idea would be to merge the various lists here (turned into tables) in the editable part of Category pages, e.g. [[:Category:Getting and installing Arch]], so applications wouldn't need a wiki page to be mentioned there. — [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 08:49, 7 March 2017 (UTC)<br />
<br />
:::I like tables, especially sortable ones, though I'm not sure how they simplify things.<br />
:::An option could be to break the lists down into smaller sections, which could then be included in their respective wiki pages, as well as in a master list-of-apps page.<br />
:::An issue I see with the current [[Table of Contents]] is that it is entirely manually structured - no headings. How is a category tree "automated"? Does this automation preserve included lists/tables/cross-links?<br />
:::--[[User:Idomeneo1|Idomeneo1]] ([[User talk:Idomeneo1|talk]]) 00:00, 8 March 2017 (UTC)<br />
<br />
::::Tables in this case more than simplifying would reduce bloat, since many entries would be reduced to one line (at least on wide screens), and the various fields (name, description, website, packages) would be neatly and rationally separated, making it much easier to scan for the needed info. Tables are also a more standard and often preferred way to list and compare applications e.g. on Wikipedia.<br />
::::About breaking the lists further and merging them into specific wiki pages, I'd be in favor if you want to discuss specific cases. However what is merged into other articles can't be duplicated in a "master list-of-apps page".<br />
::::[[Table of contents]] is completely generated by a [https://github.com/lahwaacz/wiki-scripts/blob/master/toc.py bot], there's no manual structuring. I'm not sure what you mean with your question about preserving included lists etc.<br />
::::— [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 15:00, 8 March 2017 (UTC)<br />
<br />
:::::Your [[User:Kynikos/App]] trial is a great approach, but I'm unconvinced tables being a good format for this information. If you look at the sections, each table has different column widths (for a reason, but not neat). There are too many other variances: the current template app allows for short or longer descriptions, a single bot comment may shift column width for a whole table, etc. Worst: Even on a wide screen (which can't be a precondition in my view) table data would always break URLs, which is neither readable nor a neat, positive presentation. --[[User:Indigo|Indigo]] ([[User talk:Indigo|talk]]) 21:07, 8 March 2017 (UTC)<br />
<br />
::::::Just clarifying that my plan was to eventually switch to the format at the bottom of [[User:Kynikos/App#Terminal_emulators]], which doesn't display urls explicitly. Other modifications in the 3-column table solution that I see as advantages would be to resolve the current [[Template:App]]'s redundancy of always requiring to show the app's packages even when there is a dedicated article which already lists them. However I acknowledge that the idea of using tables isn't attracting much positive feedback, so ok, I'll keep it for the future generations ^^ — [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 16:12, 9 March 2017 (UTC)<br />
<br />
::::::: Ok, thanks. Not displaying URLs would help, yes. Still I don't believe we would be able to make column width look neat across sections. Nested tables (for neatness) are not an option re maintainability. I see your point about showing duplication with the packages, but particularly in this list it can also be quite helpful to click through to content of alternative packages directly. It's not that a dedicated article would have immediate info on that. --[[User:Indigo|Indigo]] ([[User talk:Indigo|talk]]) 21:23, 15 March 2017 (UTC)<br />
<br />
:::::What I was suggesting was to break these lists up further into smaller "include" pages, such as Browsers, Window managers, File managers, etc etc, on separate, single "include" pages that could be simply "included" on the respective wiki pages, as well as the category pages, as well as the list of apps. This would provide simplicity, visibility, and coherence, so a whole bunch of app lists don't need to be maintained separately.<br />
:::::--[[User:Idomeneo1|Idomeneo1]] ([[User talk:Idomeneo1|talk]]) 23:56, 8 March 2017 (UTC)<br />
<br />
::::::Hmmm every time that you added, split or removed an included page you'd have to remember to update all the articles that include it, and also you wouldn't be able to include section headings because their levels would have to adapt to the host articles, so it wouldn't be very easy to maintain. — [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 15:31, 9 March 2017 (UTC)<br />
<br />
:::::::That would be true of any new wiki pages. The idea is to break the lists up into logical units that could be included on multiple pages and categories. Then, when you update the actual lists, such as fixing/removing broken links, you would only need to do it once, instead of editing multiple pages for every list edit.<br />
:::::::--[[User:Idomeneo1|Idomeneo1]] ([[User talk:Idomeneo1|talk]]) 01:33, 10 March 2017 (UTC)<br />
<br />
:::::::: I think to a large extent the app list in this article is it's own meta information, and that diminishes the more we break it down into smaller (&detached) units. When I try to apply your idea to e.g. [[List of applications#Screen lockers]] (same goes for "file manager", "browsers" examples to me), it's hard to picture where we would want to include that list but easy to imagine it can be helpful to link to from, say, a window manager article. Even '''if''' that "screen locker" unit would list 100% applicable packages for window manager A and B, is it really that helpful to include the full list in A and B? Likewise I don't see how that section can be broken down into more units, such attempt is bound to be very arbitrary in every case. Not simple. What would be a practical example of an include unit with two targets? --[[User:Indigo|Indigo]] ([[User talk:Indigo|talk]]) 22:30, 15 March 2017 (UTC)<br />
<br />
:I have to disagree. Categories pose an important way to navigate wiki articles. Placing long lists of applications (that mostly don't have wiki articles) at the top of category pages would mean that you often have to scroll down category pages to reach their index and thus preventing you from quickly navigating the wiki by categories. –[[User:Larivact|Larivact]] ([[User talk:Larivact|talk]]) 09:19, 31 December 2017 (UTC)<br />
<br />
::I agree with [[User:Larivact|Larivact]] points. On main topic, I favour splitting existing list pages in separate articles like [[Web browser]], [[Screen locker]] etc. This would give us more space to have sufficiently detailed explanation what each type of software is and does and would make more sense in context of topic-based wiki. As for respective categories we can have {{ic|The main article for this category is [[Web browser]].}} disclaimer like on [[w:Category:Web_browsers|wikipedia]]. -- [[User:Svito|Svito]] ([[User talk:Svito|talk]]) 17:42, 26 February 2018 (UTC)<br />
<br />
:::I concur, I created [[#Merge sections to dedicated articles]] and [[Template:Cat main]]. On a side note I don't think we need to explain what each type of software is, linking the respective Wikipedia article should suffice.--[[User:Larivact|Larivact]] ([[User talk:Larivact|talk]]) 15:29, 11 May 2018 (UTC)<br />
<br />
:''[The following related post was copied here from [https://wiki.archlinux.org/index.php?title=Talk:Bottle&oldid=490503#Archive Talk:Bottle#Archive]. -- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 16:45, 27 April 2018 (UTC)]''<br />
:In general I think it's a bit unfair and counterintuitive though that the better documentation a piece of software has (or the better it works in general), the lesser visibility (and search references) it gets in our wiki (the software runs fine out of the box (good!) => no need for installation/configuration/troubleshooting sections => no wiki article; the software needs distro-specific guidance to be set up (less good / bad) => need for installation/configuration/troubleshooting sections => wiki article allowed). This may also be related to [[Talk:List_of_applications#Merge sections to category pages]], i.e. our Categories could link all current/popular options and point to the upstream docs, and ''possibly'' also to our articles for Arch-specific adaptations.<br />
:-- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 16:27, 17 September 2017 (UTC)<br />
<br />
::The purpose of the ArchWiki is to provide information, not SEO. If we list all current/popular options on category pages we obstruct the navigability of our information (see my point above).--[[User:Larivact|Larivact]] ([[User talk:Larivact|talk]]) 19:21, 10 May 2018 (UTC)<br />
<br />
=== Merge sections to dedicated articles ===<br />
<br />
[[User:Svito|Svito]] proposed to split up [[List of applications]] into separate articles like [[Web browser]], [[Screen locker]] etc.<br />
<br />
I think that's the best approach because of the following advantages:<br />
<br />
* no two co-existing categorization systems like we currently have ([[List of applications]] and MediaWiki categories), instead just MediaWiki categories<br />
* articles can easily be linked and found via search<br />
* it does not obstruct navigating the wiki by categories like [[#Merge sections to category pages]] does<br />
<br />
As this approach would make categories more important, I think we should firstly implement [[Mediawiki talk:Common.css#Move categories under h1]].<br />
<br />
--[[User:Larivact|Larivact]] ([[User talk:Larivact|talk]]) 15:25, 11 May 2018 (UTC)<br />
<br />
:[[#Merge sections to category pages]] would have required to reproduce a tree of categories under [[:Category:Applications]] similar to the ToC of this article. I don't mind this solution, but would you still create the additional categories, which in several cases would of course only contain the respective List page, or would you for example put all the split list articles from [[List of applications#Multimedia]] under the same [[:Category:Multimedia]]? -- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 15:45, 20 May 2018 (UTC)<br />
<br />
::Latter would make sense as having category for just one article would be odd. I would still keep this page to have list of links to all lists of applications. -- [[User:Svito|Svito]] ([[User talk:Svito|talk]]) 17:18, 21 May 2018 (UTC)<br />
<br />
:::Opposite for me, I support the category-tree way, at the cost of having one- (this proposal) or zero-article ([[#Merge sections to category pages]]) categories.<br />
:::If this page ends up still being required to show the tree of application lists which reside under common categories, then splitting loses much of its point in my view.<br />
:::-- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 10:32, 22 May 2018 (UTC)<br />
<br />
=== Replace with external interface ===<br />
<br />
On second thought I am not convinced of [[#Merge sections to dedicated articles]] either. MediaWiki is just unsuited for a well-categorized list of applications. Especially since applications can be in multiple categories. A real radical alternative would be to <ins>outsource &</ins> convert the List of applications to text files in a Git repository. A text file would have the name of the package and could look like this:<br />
{{bc|<nowiki>name=Thunderbird<br />
description=Feature-rich email client from Mozilla written in GTK+.<br />
url=http://www.mozilla.org/thunderbird/<br />
tags=email client,news aggregator,usenet client,irc client,xmpp client,twitter client</nowiki>}}<br />
These files could then be converted to a static HTML site or queried via a hypothetical command-line interface.<br />
<br />
--[[User:Larivact|Larivact]] ([[User talk:Larivact|talk]]) 16:46, 20 May 2018 (UTC)<br />
<br />
:I would not dismiss original subject of how and where we want to display application lists on the wiki. You touch on entirely different topic that is browsing application lists outside the wiki, for which existing web interfaces could be improved for. It is inevitable that we would want to use upstream metadata from packages themselves and periodically generate application lists without editor intervention. I strongly believe we can take baby steps and reuse existing standards as much as possible:<br />
:* Merge sections to dedicated articles, leave links to all of them here<br />
:* Transform all lists into tables, fill in all metadata<br />
:* Explore if we can use [https://www.freedesktop.org/wiki/Distributions/AppStream/ AppStream] for our metadata, if not - contribute to AppStream spec so we can<br />
:* Push our metadata to upstream projects using AppStream, so we don't have to maintain it<br />
:* <s>Write scripts to periodically generate specific application tables on pages</s><br />
:* Add AppStream support to existing web interfaces<br />
:* Have a root beer with [[User:City-busz|City-busz]]<br />
:<s>Before any of it let's agree to split this discussion first(again)</s><br />
:-- [[User:Svito|Svito]] ([[User talk:Svito|talk]]) 20:41, 20 May 2018 (UTC)<br />
<br />
::I think you missed my point, I proposed to outsource the list of applications from MediaWiki. It's not an entirely different topic, it's an entirely different solution to our categorization problem.<br />
::The main feature and biggest problem of the [[List of applications]] is categorization, upstream metadata won't help us with this because <ins>advanced</ins> categorization needs to be done centrally.<br />
::I regard AppStream as irrelevant as it doesn't deal with advanced categorization like the [[List of applications]] does.<br />
::--[[User:Larivact|Larivact]] ([[User talk:Larivact|talk]]) 16:11, 21 May 2018 (UTC)<br />
<br />
:::Defining category structure is not AppStream job and neither of [https://standards.freedesktop.org/menu-spec/menu-spec-latest.html#additional-category-registry Desktop Menu Specification]. It is completely up to the software if and how to display and organize those and there is no restrictions on number of categories software can belong to. -- [[User:Svito|Svito]] ([[User talk:Svito|talk]]) 20:04, 21 May 2018 (UTC)<br />
<br />
:::I did miss your point. Can you be more specific what that would mean for fate of this article, its content and existing category structure? -- [[User:Svito|Svito]] ([[User talk:Svito|talk]]) 16:51, 21 May 2018 (UTC)<br />
<br />
::::The [[List of applications]] would no longer be on the ArchWiki but a different website, perhaps {{ic|archlinux.org/apps}}. It would still link to the ArchWiki. The metadata from which the website gets generated could be on GitHub <s>or, perhaps a better idea, in a single page on the ArchWiki</s>. The existing content & categorization would need to be converted by a script (with some human intervention required to map sections to tags and merge apps present in multiple categories).--[[User:Larivact|Larivact]] ([[User talk:Larivact|talk]]) 17:42, 21 May 2018 (UTC)<br />
<br />
:::::Then AppStream would be more than suitable for this. See [https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#sect-Metadata-GenericComponent GenericComponent] for example, relying on [https://standards.freedesktop.org/menu-spec/menu-spec-latest.html#additional-category-registry Desktop Menu Specification] for valid Category definitions. Contributing missing category definitions should not be a problem provided we will have multiple examples in our wiki needing them, especially because we as [[Arch Linux]] community have always worked upstream rather than downstream. In the end this benefits not just Arch Linux, but everyone who already uses AppStream and upstream projects. Many applications already support the spec with existing categories, and ArchLinux already supports AppStream for official repositories with {{Pkg|archlinux-appstream-data}}. Finding a way to use AppStream with AUR would be a next step.<br />
:::::If we to terminate this article and to use GitHub or dedicated page to maintain our metadata, this would still require people to create pull requests or wiki accounts just to add their software to the list and we would still be manually adding and removing software when it goes in or out of repositories or AUR. If we to use AppStream for metadata and contribute it to upstream projects, projects using it would automatically appear in our generated lists as they enter the repo or AUR, but also software center applications across all distributions. Of course we would still need to contribute our metadata to new projects without it.<br />
:::::I understand your reluctance to not deal with any existing solution, I like your idea, <s>but I hate any prospect of downstream metadata, damned it be</s>.<br />
:::::-- [[User:Svito|Svito]] ([[User talk:Svito|talk]]) 19:34, 21 May 2018 (UTC)<br />
<br />
::::::While the [[List of applications]] tries to meticulously categorize the whole software world, the Desktop Menu Specification strives get you a nice little GUI menu of your installed applications. These are two completely different motives. The Desktop Menu Specification lacks so many categories that it is utterly unsuitable for the [[List of applications]]. And they will not accept our categories as they do not make sense for a desktop menu. Like I said advanced categorization needs to be done centrally.<br />
::::::--[[User:Larivact|Larivact]] ([[User talk:Larivact|talk]]) 05:08, 22 May 2018 (UTC)<br />
<br />
:::::::You seem to be mistaken Main categories with [https://standards.freedesktop.org/menu-spec/menu-spec-latest.html#additional-category-registry Additional categories], which I link description of from previous page here just for convenience: {{ic|can be used to provide more fine grained information about the application}}. They are just "tags" in conventional sense, but better yet explicitly defined as a standard. We are exactly ones in position to add more Additional categories to the spec, as application developers can't really have a say in it individually, nor they have any real incentive (yet) to bother adding them. -- [[User:Svito|Svito]] ([[User talk:Svito|talk]]) 09:17, 22 May 2018 (UTC)<br />
<br />
::::::::Outsourcing the metadata to upstream would mean that we could no longer effectively maintain or control it. This would reduce its quality and objectiveness.--[[User:Larivact|Larivact]] ([[User talk:Larivact|talk]]) 11:26, 22 May 2018 (UTC)<br />
<br />
:::::::::I created [[User:Svito/List of applications|draft with tentative additional categories]] I will be working on, but I changed my mind on idea of using it to generate tables on the wiki, which you just proven to me is terrible idea. I completely agree we don't need this article if we to have better means of finding software and its alternatives. I will try to improve existing specs for metadata we would like exposed by applications, but in the meanwhile I'm not opposed to your solution as well. Sorry for my stormy language before. -- [[User:Svito|Svito]] ([[User talk:Svito|talk]]) 13:24, 22 May 2018 (UTC)<br />
<br />
::::::::::Usually console applications don't have AppStream metadata, nor desktop file. The categories of Desktop Menu Specification don't give us the details and flexibility what we need, and upstream give sometimes inaccurate details that we need to fix from an objective view.<br />
<br />
::::::::::Personally I like the simplicity what MediaWiki provides, and I don't see much benefit from using a custom metadata system. Of course if anyone create and setup a better interface for listing and comparing applications, we can consider to remove application lists from Arch Wiki.--[[User:City-busz|City-busz]] ([[User talk:City-busz|talk]]) 14:03, 22 May 2018 (UTC)<br />
<br />
== <s>TeX is general purpose and markup</s> ==<br />
<br />
TeX is not specific to scientific documents. Its most common use is in mathematics, which is not necessarily 'scientific'. But it is also used in the humanities (e.g. in philosophy, linguistics), business schools (to my surprise), for writing novels, for cookbooks and for drawing ducks, cats and witches. Putting it under 'Scientific Documents' is misleading. Fair enough to point out that it is more common in mathematics and the sciences, if you insist (this is probably true, though I don't have stats), but the suggestion that this is its (sole) function is just wrong. <br />
<br />
It is primarily a document mark-up language, but is oddly not mentioned in the section on text mark-up at all. This is particularly weird since some of the tools there (e.g. pandoc) are commonly used in conjunction with TeX, as well as other formats. <br />
<br />
I would suggest either merging it with the mark-up section or, probably better, put a link there and change the title to just 'TeX Documents'.<br />
<br />
--[[User:Margali|cfr]] ([[User talk:Margali|talk]]) 23:59, 21 October 2017 (UTC)<br />
<br />
::I renamed ''Scientific documents'' to [[List of applications#TeX software|TeX software]].--[[User:Larivact|Larivact]] ([[User talk:Larivact|talk]]) 07:36, 25 May 2018 (UTC)<br />
<br />
== List of screenshot tools ==<br />
<br />
There is a suitable page dedicated to the topic, so the content should be in one place. It's not like that every list of applications present on the wiki must be unconditionally on this page. {{Unsigned|17:38, 10 May 2018|Lahwaacz}}<br />
<br />
:I would prefer to keep the list of screenshot tools on [[List of applications/Multimedia]] page rather than moving it back to the [[Taking a screenshot]] page. Screencast tools are also listed on that page, which is a similar topic. I think we should keep software lists in one page until a decision happen to split them into multiple articles/categories as described in [[#Merge sections to category pages]]. --[[User:City-busz|City-busz]] ([[User talk:City-busz|talk]]) 17:53, 10 May 2018 (UTC)<br />
<br />
::If there's a dedicated article the App list belongs there, or do you also want to move the App lists of [[Desktop environment]], [[Window manager]], [[Display manager]] to [[List of applications]]? But I agree that screenshot tools and screencast tools belong together, which is why [[Special:Diff/520859|I propose]] to move both to [[Screen capture]].--[[User:Larivact|Larivact]] ([[User talk:Larivact|talk]]) 05:46, 11 May 2018 (UTC)<br />
<br />
:::[[Desktop environment]], [[Window manager]], [[Display manager]]: these are not simply desktop applications, and require specific configuration, so it's reasonable to put them into separated articles. There is no specific configuration needed for screenshot and screencast tools, these are individual applications, therefore I would prefer to keep them together with other multimedia applications. Or if it's preferred to put these list into separated articles, then we should split the list completely, and create individual articles for raster graphics editors, for vector graphics editors and so on.--[[User:City-busz|City-busz]] ([[User talk:City-busz|talk]]) 10:22, 11 May 2018 (UTC)<br />
<br />
::::If there was nothing else but the list on the [[Screen capture]] page, I would agree with you that it's better to keep the list in [[List of applications]]. But that's not the case, similarly to [[Clipboard#List_of_clipboard_managers]] and likely many other pages I can't think of right now. Splitting the [[List of applications]] completely is a different topic since there would be only the lists on the newly created pages. -- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 14:24, 11 May 2018 (UTC)<br />
<br />
:::::I created [[#Merge sections to dedicated articles]] for that different topic.--[[User:Larivact|Larivact]] ([[User talk:Larivact|talk]]) 15:33, 11 May 2018 (UTC)<br />
<br />
:::::I moved the screenshot and screencast tools to [[Screen capture]].--[[User:Larivact|Larivact]] ([[User talk:Larivact|talk]]) 18:20, 26 July 2018 (UTC)<br />
<br />
== <s>Section changes on /Documents</s> ==<br />
<br />
[[User:City-busz]] restructured [[List of applications/Documents]] (See the [[Special:Diff/523516#toc|old ToC]] for reference).<br />
<br />
A ''Productivity'' section has been added, I don't see the point of it as it is extremely ambiguous.<br />
<br />
The ''Texts and notes'' main section seems to be very arbitrary (why are ''Barcode generators and readers'' under there?).<br />
<br />
Furthermore I don't get why ''Emacs text editors'' and ''Vi text editors'' are no longer under ''Text editors''.<br />
<br />
Lastly I think that text editors are so important that they deserve a top level section somewhere at the top of the article (like they previously had).<br />
<br />
--[[User:Larivact|Larivact]] ([[User talk:Larivact|talk]]) 18:11, 14 June 2018 (UTC)<br />
<br />
:: I don't see the point of a ''Productivity'' section either. It is ambiguous since you can be productive programming, drawing or reading.<br />
<br />
:: ''Text editors'' should definitely be a top level section, with ''Emacs text editors'' and ''Vi text editors'' as sub sections.<br />
<br />
:: --[[User:Jonascj|Jonascj]] ([[User talk:Jonascj|talk]]) 21:22, 14 June 2018 (UTC)<br />
<br />
::: I created the ''Productivity'' section for the purpose to categorize [[Wikipedia:Productivity software]] usually included in office suites to procedure text-based documents (word processors, spreadsheet, presentation, database software as well as typesetting systems, which have similar purpose to word processors). These are usually falls under the ''Office'' section by the [https://standards.freedesktop.org/menu-spec/menu-spec-latest.html Desktop Menu Specification].<br />
<br />
::: The ''Texts and notes'' section contains everything that related to reading and writing simple text files, including text tools. ''Barcode generators and readers'' are some kind of text tools: encode and decode text data to/from a barcode. These are usually falls under the ''Utility'' + ''TextEditor'' / ''TextTools'' category by the [https://standards.freedesktop.org/menu-spec/menu-spec-latest.html Desktop Menu Specification].<br />
::: --[[User:City-busz|City-busz]] ([[User talk:City-busz|talk]]) 22:37, 14 June 2018 (UTC)<br />
<br />
:::: Now I made some changes: I splitted ''Texts and notes'' section into ''Text'', ''Notes'' and ''Text tools''; and moved ''Text'' section to the top of the article.<br />
::::--[[User:City-busz|City-busz]] ([[User talk:City-busz|talk]]) 23:07, 14 June 2018 (UTC)<br />
<br />
::::# Section names need to be concrete. ''Productivity'', ''Text'' and ''Text tools'' are way too broad.<br />
::::# Sections should be about one thing, do not create artificial super-sections like ''Text and notes'' or ''Scanning and OCR''.<br />
::::The Desktop Menu spec is irrelevant in regard to section naming. [[Special:Diff/526132/526158|I fixed the ambiguous / artificial sections.]] I split ''Productivity'' into ''Office'' and ''Markup languages'' and made ''Text editors'' top level again. I think the remaining ''Text tools'' should be moved to other articles as they are not document-specific (I added move templates).<br />
::::--[[User:Larivact|Larivact]] ([[User talk:Larivact|talk]]) 07:28, 15 June 2018 (UTC)<br />
<br />
:::::I would like to keep ''Barcode generators and readers'' within this article, since these applications are simply text encoders/decoders. You can store even [[Wikipedia:QR code#Storage|long text in a QR code]]. Reading a barcode is a similar process to OCR. I can't see any other categories that fit better for these applications. --[[User:City-busz|City-busz]] ([[User talk:City-busz|talk]]) 10:47, 15 June 2018 (UTC)<br />
<br />
::::::Fair enough.--[[User:Larivact|Larivact]] ([[User talk:Larivact|talk]]) 11:33, 15 June 2018 (UTC)<br />
<br />
== <s>Grouping web browser content together</s> ==<br />
<br />
We currently have three different places about web browsers: [[List of applications#Web browsers]], [[Browser plugins]] and [[Firefox/Privacy#Extensions]] (listing mostly cross-browser extensions).<br />
I therefore propose to group that content together by:<br />
<br />
* Moving [[List of applications/Internet#Web browsers]] to [[Web browser]].<br />
* Moving [[Browser plugins]] to [[Web browser/Plugins]].<br />
* Moving all extensions also available for [[Chrome]] from [[Firefox/Privacy#Extensions]] to [[Web browser/Extensions#Privacy]].<br />
<br />
--[[User:Larivact|Larivact]] ([[User talk:Larivact|talk]]) 06:05, 25 July 2018 (UTC)<br />
<br />
: I don't think that it would be a good direction. Most of [[Browser plugins]] are no longer used or dead, and cannot be used in latest web browsers. So I would do the following instead:<br />
:* Keep [[List of applications/Internet#Web browsers]] as is.<br />
:* Move Flash Player-specific information from [[Browser plugins]] to [[Firefox]] and [[Chromium]], drop other content from [[Browser plugins]].<br />
:* Only a few extensions supports both [[Firefox]] and [[Chromium]], so I would keep [[Firefox/Privacy#Extensions]] as is (maybe use App template for the list), and add those privacy extensions to [[Chromium]] which support it.<br />
:--[[User:City-busz|City-busz]] ([[User talk:City-busz|talk]]) 19:01, 26 July 2018 (UTC)<br />
<br />
::10/13 extensions listed under [[Firefox/Privacy#Extensions]] were also available for Chrome. I went ahead and created [[Browser extensions]] as listing cross-browser extensions in a Firefox article doesn't make any sense. App templates also don't make sense for software which isn't packaged. I don't think [[Browser plugins]] could be properly split up. --[[User:Larivact|Larivact]] ([[User talk:Larivact|talk]]) 19:31, 26 July 2018 (UTC)<br />
<br />
::: Then I think it would better to leave these three pages ([[List of applications/Internet#Web browsers]], [[Browser extensions]], [[Browser plugins]]) as is, without grouping them together. Web browsers are too divergent topic, many of them doesn't support extensions/plugins at all, and [[Browser plugins]] will disappear soon anyway. --[[User:City-busz|City-busz]] ([[User talk:City-busz|talk]]) 22:21, 26 July 2018 (UTC)<br />
<br />
::::Well argued, you convinced me. --[[User:Larivact|Larivact]] ([[User talk:Larivact|talk]]) 07:08, 27 July 2018 (UTC)</div>Meskarunehttps://wiki.archlinux.org/index.php?title=Help_talk:Template&diff=533439Help talk:Template2018-08-11T23:39:23Z<p>Meskarune: /* New Template Application */ fixed indentation, signed</p>
<hr />
<div>== Grouped Notes/Warnings/Tips and numbered parameter ==<br />
<br />
According to [[Help:Style#Notes.2C_Warnings.2C_Tips]], we should use unnumbered list to group successive Notes/Warnings/Tips into a single template. However, this can't be (easily) done when it's necessary to use numbered parameter, e.g. when some note contains URL with "=" symbol. See:<br />
<br />
{{Note|1=<br />
* first note<br />
* second note<br />
}}<br />
<br />
-- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 08:01, 14 July 2014 (UTC)<br />
<br />
:It's funny how this trick would fix that :)<br />
<br />
{{bc|<nowiki><br />
{{Note|1=<nowiki>&lt;/nowiki><br />
* first note = 1<br />
* second note = 2<br />
}}<br />
</nowiki>}}<br />
<br />
{{Note|1=<nowiki></nowiki><br />
* first note = 1<br />
* second note = 2<br />
}}<br />
<br />
:However I don't think we should recommend it (too hacky), maybe this is one of the cases where the "recommended only when the solutions above are not practicable" note in [[Help:Template#HTML entities]] can be rightfully applied. Other ideas? Avoid recommending to merge stacked note templates? The problem would persist in note templates that have to start with a list anyway...<br />
:-- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 14:47, 15 July 2014 (UTC)<br />
<br />
== Should administrative templates be translated? ==<br />
<br />
I have coincidentally encountered a stub page ([[Яндекс Диск (Русский)]], now deleted) with wrong localized title, which was marked for deletion using a localized template, [[Template:Deletion (Русский)]]. This was obviously wrong, because the page was not listed under [[Special:WhatLinksHere/Template:Deletion]], which is the list which is systematically checked.<br />
<br />
I admit that localized "administrative templates" can be useful for coordinating the effort of a translation team, and having English messages on localized pages might be considered ugly, but there are considerable downsides in splitting the [[Special:WhatLinksHere]] by language this way.<br />
<br />
Another step deeper, maybe we should put together a list of templates that should not be translated?<br />
<br />
-- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 19:59, 10 September 2014 (UTC)<br />
<br />
:I think what you're saying makes sense (and a lot) only for [[Template:Deletion]]; the admins (like any other user) can't expand, merge or update articles written in languages they don't speak, right? :) What other templates were you thinking about? -- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 10:43, 11 September 2014 (UTC)<br />
<br />
::True, every other [[Help:Template#Article status templates|article status template]] could be used in localized form by the maintenance team. Regardless, there will always be fragmentation of the [[Special:WhatLinksHere]]: for example when fulfilling the [[ArchWiki:requests|requests]], it is common to use English message (and template) on localized pages if the editor does not speak the language. This should be definitely considered by the translation teams.<br />
::Personally, I find it strange that [[Template:Out of date|outdated]] or [[Template:Accuracy|inaccurate]] content from English pages can be spread by translation (see [https://wiki.archlinux.org/index.php?title=Bluetooth_Mouse_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)&diff=next&oldid=334522#.D0.90.D0.B2.D1.82.D0.BE.D0.BC.D0.B0.D1.82.D0.B8.D1.87.D0.B5.D1.81.D0.BA.D0.B8_.D0.BF.D0.BE.D0.B4.D0.BA.D0.BB.D1.8E.D1.87.D0.B0.D1.82.D1.8C_.D0.BC.D1.8B.D1.88.D1.8C_.D0.BF.D1.80.D0.B8_.D0.B7.D0.B0.D0.B3.D1.80.D1.83.D0.B7.D0.BA.D0.B5]).<br />
::-- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 11:36, 11 September 2014 (UTC)<br />
<br />
:::About the first point on "fragmentation" of WLH pages, do you mean that it inevitably happens that some localized articles are marked with localized templates and some with English templates? In what cases is it possible that somebody adds a status template to an article without being able to understand its language? And if (s)he does, is that really the right thing to do? And if it is, maybe we could recommend to use the localized version of the template even if the message is then written in English?<br />
:::About the second point on template "spreading", I don't find it "strange" if it happens when somebody translates from an article that is marked with such status template: he's adding the localized template not only to remind to the team that the article contains outdated content, but also to notify all non-contributing readers about possible inaccuracies. But maybe I haven't understood what you meant exactly?<br />
:::Just to come back to the original topic, isn't it a good thing that the WLH pages for the English status templates are not (ideally) "polluted" by non-English articles? (Doesn't apply to Template:Deletion, I know)<br />
:::-- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 14:33, 12 September 2014 (UTC)<br />
<br />
::::For example when fulfilling [[ArchWiki:Requests]], there is often some unique keyword or phrase to identify the relevant section, even in localized pages. Google translate can be used to ''partially'' understand the surrounding text, even if the translation is grammatically incorrect. This makes it pretty easy to mark the section with English message (translating the message from English would be risky, the grammar mistakes might alter the meaning), which I think is an improvement (any warning should be better than none). Using a localized template in this case would require checking if such template exists, and even if it does, combining localized template and English message is even more weird.<br />
::::About fragmentation and using localized ''article status templates'' generally, its advantage is that it filters out other languages in the WLH lists, but this only partial (the global list will always contain some localized pages, unless we want to create the necessary templates for each language and do some mass cleanup, and the localized lists will not point out localized pages marked with global templates). The disadvantage is that global maintenance, if only marking as outdated as per [[ArchWiki:Requests]], will be harder.<br />
::::-- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 21:51, 12 September 2014 (UTC)<br />
<br />
:::::Ok, of course each solution has pros and cons (will we need a summary table for this issue too?): honestly I wouldn't find it too weird if a localized template had an English message, which could also be translated afterwards by somebody else. Yes, adding a localized status template requires a bit more typing, sometimes even copy-pasting if there are non-Latin chars in the language name: this could be mitigated in the future by [[Help talk:i18n#Language namespace(s) in place of suffixes?]]; I understand this could effectively discourage adding status templates to translations. On the other hand, a bot would be able to convert the templates to the proper localized versions very easily, so that's a task that could be performed periodically (it could be used to check also other templates). And yes, having a translated version for each template would be required if we enforced such a policy. Finally, let's not forget that localized templates would be more useful to casual readers than English templates.<br />
:::::-- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 05:03, 14 September 2014 (UTC)<br />
<br />
::::About the template spreading, it is safe to assume that [[Template:Poor writing]] will never be translated. Instead, the translator will probably fix the English article prior to translating it, which is happening ''a lot'', even when the style issues are not marked with a template, and this is absolutely great. On the other hand, I have never noticed any other ''article status template'' being resolved during translation. Admittedly, sometimes it is best to just translate the inaccurate content along with the template, or the translator might be unable to resolve it, but in terms of statistics I think that I should have noticed at least some effort by now.<br />
::::-- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 21:51, 12 September 2014 (UTC)<br />
<br />
:::::Well, [[Template:Poor writing]] does have a translation already with some backtransclusions, I'm not sure if you'd delete it (I wouldn't). -- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 05:03, 14 September 2014 (UTC)<br />
<br />
::As the discussion about other [[Help:Template#Article status templates|article status templates]] is getting slightly off-topic, let's take a list of one item for now, [[Template:Deletion]]. How do we mark it as non-translatable? The translated versions could then be redirected to the English template and deleted when there are no backlinks. -- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 22:01, 12 September 2014 (UTC)<br />
<br />
:::I think the [https://docs.python.org/3.4/glossary.html#term-eafp EAFP] approach is better in this case, I can think of 2 implementations:<br />
:::# Create a redirect for each Template:Deletion_(Language) title and protect them from editing with an exhaustive justification in the summary (this solution would A) be more consistent with the usage of the other status templates and B) allow us grouping the backtransclusions of Template:Deletion by language in its WLH page).<br />
:::# Redirect the existing translations temporarily, convert them all with a bot, then delete them and finally protect all the Template:Deletion_(Language) titles from creation with an exhaustive justification in the summary.<br />
:::I prefer 1), do you agree/disagree or have additional options?<br />
:::-- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 05:08, 14 September 2014 (UTC)<br />
<br />
== Template "nowrap" ==<br />
<br />
I would like to ask for opinions about adding a wiki template like [https://en.wikipedia.org/wiki/Template:Nowrap Wikipedia's "nowrap"].<br />
<br />
Although there are already some alternative solutions available for specific cases (e.g. {{ic|&amp;nbsp;}} for non-breaking space, {{ic|&amp;#8209;}} for non-breaking hyphen), the "nowrap" template (and/or other similar templates) covers additional cases.<br />
<br />
For example, you might find one line of text presented as ending with the word {{ic|package}} and the same sentence continues in the next line, presented as starting with {{ic|(s)}}. By using the "nowrap" template on this expression, you get {{ic|package(s)}} all together, either at the end of one line or at the beginning of the next one, but never separated in 2 lines.<br />
<br />
This is just an example. Other cases can be (more) relevant (too). Obviously, the "nowrap" template can also be used instead of (multiple) non-breaking spaces and non-breaking hyphens.<br />
<br />
Without a "nowrap" (or similar) template, the alternatives are either to not care about these things, or to use one of the following (please note that some alternatives might be more appropriate than others):<br />
<br />
{{bc|<br />
1=&lt;span class="nowrap"&gt;This text will not wrap.&lt;/span&gt;<br />
Some sentence... &lt;span class="nowrap"&gt;package(s)&lt;/span&gt; and the sentence continues.<br />
}}<br />
{{bc|<br />
1=&lt;span style="white-space:nowrap"&gt;This text will not wrap.&lt;/span&gt;<br />
Some sentence... &lt;span style="white-space:nowrap"&gt;package(s)&lt;/span&gt; and the sentence continues.<br />
}}<br />
<br />
The "nowrap" template also has some "alias" (or redirection) names in Wikipedia, or we could use a new different name for this same template.<br />
<br />
Is this kind of situation worth a template for the ArchLinux wiki? Any thoughts? [[User:Ady|Ady]] ([[User talk:Ady|talk]]) 15:39, 27 March 2016 (UTC)<br />
<br />
:I don't know, it seems a bit overcomplicated to me... What browser are you using that wraps "package(s)" at the parenthesis? At least Firefox correctly interprets it as a single word, since I do believe that these cases should be handled by the browser. The same goes for e.g. "package-s". Can you give more examples where this template would be needed (and would be a clearly better solution than using non-breaking spaces etc.)? — [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 06:57, 30 March 2016 (UTC)<br />
<br />
::Hmm, perhaps I have not used the best example - I know I have seen this "package(s)" example somewhere, but currently I cannot recall where / when exactly.<br />
::I should point out that users could see an unwanted (word) wrapping, depending on the width of the wiki text area (e.g. screen resolution, web browser's zoom, fonts...).<br />
::As for "better" (or common) examples, please see [https://en.wikipedia.org/wiki/Wikipedia:NOWRAP] for brevity.<br />
::BTW, using space characters and hyphens are the (most) common word-separators in certain languages, but not in all of them (e.g. CJK languages), so a "nowrap" template might be even more helpful in some translated wiki pages than in the English ones.<br />
::I want to be clear. I am also not completely sure this type of template is "essential" for the ArchLinux wiki. It is potentially helpful; the question would be whether it is worth it. [[User:Ady|Ady]] ([[User talk:Ady|talk]]) 02:51, 31 March 2016 (UTC)<br />
<br />
:::I see, I should have been more specific, but what I meant with "more examples" is existing samples of the ArchWiki (in any language) where such template would improve the page rendering and/or the source text. To put it in other words: after creating the template, where exactly is it going to be used?<br />
:::In general I'm against creating templates (or Categories, etc.) "just in case they come in handy one day", although in this case I admit the idea can make somewhat sense, so if you really feel you want to create the template, I won't object further, maybe somebody else will find good uses for it and we'll start appreciating its existence ^^<br />
:::— [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 03:23, 31 March 2016 (UTC)<br />
<br />
::::I am a contributor to other wiki sites (in addition to the ArchLinux wiki). As editor(s) of wiki text, it is usually recommended to be aware that readers might use very different setups. While I/we might not see a certain behavior in the presentation of the wiki text / page, others might.<br />
::::Although the ArchLinux wiki would not (need to) consider older versions of web browsers (or web browsers being used in non-Linux OSes), I am used to test the results of my editions with at least a couple of different setups.<br />
::::I found a [https://www.cs.tut.fi/~jkorpela/html/nobr.html web page] about word wrapping in HTML that might be of interest to (some) wiki editors. Some notes about it:<br />
::::* Most of its content mentions Internet Explorer, but it also mentions Firefox, Opera and others.<br />
::::* In theory, it is somewhat outdated (at the time of this writing, its last update was during 2013).<br />
::::* In spite of its date, I am convinced that at least some of the issues are still relevant (with potential improvements and regressions in each new version / variant of web browser).<br />
::::* The part of that web page that is relevant to our discussion here is that there are several alternative methods so to achieve the desired wrapping result, whether it is about preventing word-wrapping, imposing word-wrapping, or allowing optional wrapping at certain specific positions within an expression / word.<br />
::::Some of the simpler alternatives, (probably with a varying degree of effective results): {{ic|&amp;nbsp;}}, {{ic|&amp;#8209;}}, {{ic|&amp;#xfeff;}}, {{ic|&amp;#8288;}}, {{ic|wbc}}, and for generic wiki text, a "nowrap" (or, one of its alias names, "nobr") templates.<br />
::::The advantage of a "nowrap" template over its non-template alternatives is that it is more generic; editors can avoid having to use different tricks according to the specific character (space, hyphen, minus sign, em/en dash...) and it covers potential cases that have no alternative or that would make the source of the wiki text less-readable.<br />
::::So, without a "nowrap" template, I guess that most of the relevant cases in Latin-like languages would be covered by some non-template alternative, or by using the full "span style expression". Although perhaps there might be some cases in which a "nowrap" template would not have an alternative in Latin-like languages, I am also ''guessing'' that such (few?) cases would probably not be worth a template in the ArchLinux wiki.<br />
::::But then there are the CJK languages, in which wrapping styles / rules might be more important / complex than some form of "hyphen" and/or space characters.<br />
::::Maybe [[User:Fengchao]] and/or other members that are fluent in CJK languages might have a different / relevant perspective?<br />
::::— [[User:Ady|Ady]] ([[User talk:Ady|talk]]) 13:40, 1 April 2016 (UTC)<br />
<br />
== Forum link ==<br />
<br />
:Moved from [[Talk:Bash/Functions]] -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 11:13, 23 October 2015 (UTC)<br />
<br />
The article has two types of forum links:<br />
<br />
*[https://bbs.archlinux.org/viewtopic.php?id=30155 BBS#30155] (intro, as in [[Template:Bug]]) and<br />
*https://bbs.archlinux.org/viewtopic.php?id=101010 (section [[Bash/Functions#Kingbash|#Kingbash]])<br />
<br />
Which one is right again? --'''<span style="text-shadow:grey 0.1em 0.1em 0.1em; font-size:110%">[[User:Det|<span style="color:gold">D</span><span style="color:orange">e</span><span style="color:red">t</span>]][[User talk:Det|<sup><font color="white">talk</font></sup>]]</span>''' 11:44, 24 July 2015 (UTC)<br />
<br />
:Full URLs should be avoided, see [[Help:Style#Hypertext_metaphor]], otherwise I know of no recommended wording for forum links. -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 12:13, 24 July 2015 (UTC)<br />
<br />
::That section doesn't actually even talk about external links, while [[Help:Editing#External links]] says ''"just type the full URL"'', but also that ''"it is often more useful to make the link display something other than the URL"''. --'''<span style="text-shadow:grey 0.1em 0.1em 0.1em; font-size:110%">[[User:Det|<span style="color:gold">D</span><span style="color:orange">e</span><span style="color:red">t</span>]][[User talk:Det|<sup><font color="white">talk</font></sup>]]</span>''' 16:04, 24 July 2015 (UTC)<br />
<br />
:::This was already mentioned somewhere some time ago, I don't remember where nor when, anyway [https://wiki.archlinux.org/index.php?title=Special%3ALinkSearch&target=https%3A%2F%2Fbbs.archlinux.org%2Fviewtopic.php] would seem to justify the creation of a [[Template:BBS]], just like we have [[Template:Bug]]. — [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 15:18, 25 July 2015 (UTC)<br />
<br />
::::The problem with a BBS template is that links to the full thread have simple query string {{ic|1=?id=''number''}}, whereas links to posts have {{ic|1=?pid=''number''#''number''}}. There would have to be two different templates, which would get confusing very quickly.<br />
::::There are more problems with existing links to the BBS: from looking at the list you posted, there are many links specifying the page number in the query string ({{ic|1=p=''num''}}), but FluxBB has variable/configurable number of posts per page. The links should point to either the full thread (first page), or a specific post.<br />
:::: -- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 15:31, 25 July 2015 (UTC)<br />
<br />
:::::Like with links to bugs, a bbs url has to be pasted and manually modified anyway, but most of the times the conversion to [[Template:Bug]] ends up being done by a bot, which would be able to use two different BBS templates appropriately.<br />
:::::I see 5 types of viewtopic.php links:<br />
:::::# {{ic|1=?id=''number''}}: these could be changed to [[Template:BBSid]] instances.<br />
:::::# {{ic|1=?id=''number''&p=''number''}}: when {{ic|''number''}} is {{ic|1}}, they could drop it and use [[Template:BBSid]]; otherwise they should point to a post as you say and use a [[Template:BBSpid]] template (we could publish a list of such links for manual fixing, since the correct post has to be found by a human, a bot can't do it).<br />
:::::# {{ic|1=?pid=''number''}}: these could be changed to [[Template:BBSpid]] instances, the link fragment is the same as {{ic|''number''}} with a prefixed {{ic|p}}, so it's easy to add using the same template argument.<br />
:::::# {{ic|1=?pid=''number''#p''number''}}: these could be changed to [[Template:BBSpid]] instances, {{ic|''number''}} needs to be specified only once.<br />
:::::# {{ic|1=?t=''number''}}: these seem to be all broken, so they should be marked as dead, or fixed.<br />
:::::I've chosen [[Template:BBSid]] and [[Template:BBSpid]] instead of e.g. [[Template:BBSthread]] and [[Template:BBSpost]] thinking that it would be easier to get their relation to the url when used manually, but I'm still quite undecided (provided that we actually decide to introduce the new templates).<br />
:::::— [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 04:27, 26 July 2015 (UTC)<br />
<br />
::::::3. and 4. are identical (btw. haven't you confused their descriptions a little?), except that 3. only opens the page with the given post (based on the user's posts-per-page setting), but stays at the top of the page, whereas 4. points directly to the post (the {{ic|#p''number''}} is the trick to do it). So 3. should also never be used, but it's trivial to transform it to 4. -- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 09:50, 26 July 2015 (UTC)<br />
<br />
:::::::Of course, I was reasoning from a bot's point of view, which would indeed see 3. and 4. as different cases. My description of 3. was assuming that the need for a fragment was obvious (hence the mention of how easy it is to add it even if it's not in the original link), but what's important is that you seem to have understood anyhow :P — [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 10:44, 26 July 2015 (UTC)<br />
<br />
::::::::I agree on using only PID and ID. If you're linking to a page, you most likely should link to a PID. To distinguish between both, you could use {{ic|##}} for PID and {{ic|#}} for ID.<br />
::::::::I don't have suggestions on automating the implementation. -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 11:18, 23 October 2015 (UTC)<br />
<br />
== Escape template-breaking characters ==<br />
<br />
I make changes to the body of the section. But I am not stupid to rename/move the section. That is why while people encounter escaping problems, they get a banner that transfer them to this section as usual. I tested that. I make rewrite of section, because I learn MediaWiki and Arch Wiki and I almost understand nothing from that article. Also escaping of '|' was surprisingly lacking, while I was transferring here. - [[User:PiroXiline|PiroXiline]] ([[User talk:PiroXiline|talk]]) 17:28, 9 September 2016 (UTC)<br />
<br />
== New Template Application ==<br />
<br />
I was thinking a new template could be added for application pages that would give quick info on a package. It would be right floated like "related articles". I made a quick example here: [[User:Meskarune/package]] but it could use more work on the format/syntax. [[User:Meskarune|Meskarune]] ([[User talk:Meskarune|talk]]) 20:17, 23 January 2017 (UTC)<br />
<br />
:I don't see the point of this. You want to know the package name? Look in ''Installation''. The website and description? Should be linked in the intro. systemd service, user & group and man pages should be under ''Usage''. Config paths & examples under ''Configuration''. –[[User:Larivact|Larivact]] ([[User talk:Larivact|talk]]) 05:43, 2 January 2018 (UTC)<br />
<br />
::The point of the sidebar table is that people will not have to go searching through lots of text for important information. If you only want to quickly know the service file and config file on Arch without reading through all the text on the wiki it would be in an easy to find place. Obviously its just some extra "eye candy" if you will that people could choose to use.<br />
::<br />
::The larger issue I was trying to address was the lack of strict standardization for pages on packages.<br />
::<br />
::The idea is that the content, and specific order of sections for package pages should be standardized with certain sections being required. For example, install and configuration. This will increase the quality of package pages on the wiki and enable scripts to be able to automatically mark issues such as lacking an install section. This isn't just about a template for a table, it is about having more specific standards for package pages as well in order to help people write them easier and increase over all quality and decrease maintenance time.<br />
::<br />
::My proposal is that the example page I wrote should be the standard format for all pages on packages on the wiki.[[User:Meskarune|Meskarune]] ([[User talk:Meskarune|talk]]) 19:39, 9 August 2018 (UTC)<br />
<br />
:::If you want to find out services / configuration files / man pages of a package without reading an article, you can just grep {{ic|pacman -Ql}} for {{ic|/system/}}, {{ic|/etc/}} and {{ic|/man/}}. Your sidebar duplicates information and would thus increase the cost of maintenance (unnecessarily so). We already have [[Help:Style#Standard_sections|standard sections]]. I don't think that we need to require some sections / have a strict order for all standard sections. We don't need a dedicated example article, we got enough actual articles to serve as an example. --[[User:Larivact|Larivact]] ([[User talk:Larivact|talk]]) 05:06, 10 August 2018 (UTC)<br />
::::I put together code for the info box: https://wiki.archlinux.org/index.php/User:Meskarune/Template:application first time writing a template, it was a good learning experience if anything else. I originally got the idea from wikipedia info boxes.<br />
::::<br />
::::Anyways, I don't propose that the info box be required for every package page, but on certain ones it would be very useful, for things like web servers, email servers, etc it is very common for people to go to the wiki page first, then go to upstream docs/bug trackers after, so having a small list would be helpful, and I think if people want to add them to such pages, the maintenance is not much since upstream doesn't often change. As for man page links, I often have the arch wiki on my phone while doing things on a computer without a GUI, and it is honestly useful to have man page links so its easier to read something on a phone while doing something in a TTY. I don't know how common that use case is, but I can't be the only one. It would also be useful for people who are visually impaired because finding links in text is difficult with a screen reader, and voice commands on phones are better than they are on linux.<br />
::::<br />
::::And as for the "standard sections" in the style guide, "installation" wasn't even on there until you added it after this discussion started. (and I am grateful you took the time to do that) Part of the reason for my original suggestion of having more standard sections was because there was a lack. I also still believe that having certain sections required for packages will increase quality and consistency of the pages over time and lower maintenance because scripts can automatically tag any page under category:package if it is lacking installation or configuration. But that is of course up to y'all to decide about that. I really don't have the time/energy to argue about this if no one else thinks more standardization is a good idea.[[User:Meskarune|Meskarune]] ([[User talk:Meskarune|talk]]) 23:39, 11 August 2018 (UTC)<br />
''[Moved from [[ArchWiki talk:Administrators#Package page style guide/template]]. --[[User:Larivact|Larivact]] ([[User talk:Larivact|talk]]) 13:07, 9 August 2018 (UTC)]''<br />
<br />
I wrote a style guide/example template for package wiki pages. I wanted to get some feedback on it and possibly see if this couldn't be adopted as a standard on the wiki. This is the page: [[User:Meskarune/package]]<br />
<br />
Maybe a wiki template could be created for the application info table sidebar thingy, this way it is faster/easier to add.<br />
<br />
I think this would help improve the quality of package pages and help users get useful information faster. --[[User:Meskarune|Meskarune]] ([[User talk:Meskarune|talk]]) 20:37, 8 August 2018 (UTC)<br />
<br />
== Creation of Template:Out of scope ==<br />
<br />
We currently don't have a template to flag pages that are not relevant to Arch Linux. --[[User:Larivact|Larivact]] ([[User talk:Larivact|talk]]) 07:54, 26 April 2018 (UTC)<br />
<br />
:...but we have a [[Help:Procedures#Remove_an_entire_page|procedure]] that involves existing templates; after all, if an article is deemed irrelevant we ultimately want to discuss an ''action'' to do on it, i.e. [[Template:Expansion|expand]], [[Template:Out of date|update]], [[Template:Accuracy|fix]], [[Template:Style|clean-up]], [[Template:Merge|merge]], [[Template:Move|move]], [[Template:Redirect|redirect]] or [[Template:Archive|archive]]. Being irrelevant is the ''reason'' for flagging, for which all status templates have a dedicated parameter. -- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 15:42, 26 April 2018 (UTC)<br />
<br />
::I think the "move article back to the author's User page" action deserves its own template, so that such procedures can be tracked via [[Special:WhatLinksHere]]. --[[User:Larivact|Larivact]] ([[User talk:Larivact|talk]]) 16:07, 26 April 2018 (UTC)<br />
<br />
:::I don't know, it doesn't feel like it happens often enough to justify a complication of our status-template system, although that's the only opposing argument that I can think of.<br />
:::On the other hand, even though the English backtransclusions of [https://wiki.archlinux.org/index.php?title=Special:WhatLinksHere/Template:Move&hidelinks=1&hideredirs=1 Template:Move] are only very few, we did lose track of the only article flagged to be moved back to its author's page, [[Bottle]], so you may have a point there. I've just moved that article though, so coming back to my previous argument, a hypothetical new template would now be left unused.<br />
:::Tl;dr I'm neutral, I just wanted to offer some considerations, for the moment I've expanded [https://wiki.archlinux.org/index.php?title=Help%3AProcedures&type=revision&diff=518901&oldid=517954 Help:Procedures#Remove an entire page]. -- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 16:47, 27 April 2018 (UTC)<br />
<br />
::::Maybe we could put the following table into [[ArchWiki:Statistics#Maintenance statistics]] to help with the tracking problem? Note that the <nowiki>{{PAGESINCATEGORY}}</nowiki> values are cached and change only when the page is purged or edited, but [[ArchWiki:Statistics]] is updated frequently anyway. -- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 17:14, 1 May 2018 (UTC)<br />
::::{| class="wikitable"<br />
! Category name<br />
! Pages in category<br />
|-<br />
| [[:Category:Noindexed pages|Noindexed pages]]<br />
| {{PAGESINCATEGORY:Noindexed pages}}<br />
|-<br />
| [[:Category:Pages flagged with Template:Archive|Pages flagged with Template:Archive]]<br />
| {{PAGESINCATEGORY:Pages flagged with Template:Archive}}<br />
|-<br />
| [[:Category:Pages flagged with Template:Redirect|Pages flagged with Template:Redirect]]<br />
| {{PAGESINCATEGORY:Pages flagged with Template:Redirect}}<br />
|-<br />
| [[:Category:Pages flagged with Template:Stub|Pages flagged with Template:Stub]]<br />
| {{PAGESINCATEGORY:Pages flagged with Template:Stub}}<br />
|-<br />
| [[:Category:Pages or sections flagged with Template:Accuracy|Pages or sections flagged with Template:Accuracy]]<br />
| {{PAGESINCATEGORY:Pages or sections flagged with Template:Accuracy}}<br />
|-<br />
| [[:Category:Pages or sections flagged with Template:Bad translation|Pages or sections flagged with Template:Bad translation]]<br />
| {{PAGESINCATEGORY:Pages or sections flagged with Template:Bad translation}}<br />
|-<br />
| [[:Category:Pages or sections flagged with Template:Expansion|Pages or sections flagged with Template:Expansion]]<br />
| {{PAGESINCATEGORY:Pages or sections flagged with Template:Expansion}}<br />
|-<br />
| [[:Category:Pages or sections flagged with Template:Laptop style|Pages or sections flagged with Template:Laptop style]]<br />
| {{PAGESINCATEGORY:Pages or sections flagged with Template:Laptop style}}<br />
|-<br />
| [[:Category:Pages or sections flagged with Template:Merge|Pages or sections flagged with Template:Merge]]<br />
| {{PAGESINCATEGORY:Pages or sections flagged with Template:Merge}}<br />
|-<br />
| [[:Category:Pages or sections flagged with Template:Move|Pages or sections flagged with Template:Move]]<br />
| {{PAGESINCATEGORY:Pages or sections flagged with Template:Move}}<br />
|-<br />
| [[:Category:Pages or sections flagged with Template:Out of date|Pages or sections flagged with Template:Out of date]]<br />
| {{PAGESINCATEGORY:Pages or sections flagged with Template:Out of date}}<br />
|-<br />
| [[:Category:Pages or sections flagged with Template:Style|Pages or sections flagged with Template:Style]]<br />
| {{PAGESINCATEGORY:Pages or sections flagged with Template:Style}}<br />
|-<br />
| [[:Category:Pages or sections flagged with Template:Translateme|Pages or sections flagged with Template:Translateme]]<br />
| {{PAGESINCATEGORY:Pages or sections flagged with Template:Translateme}}<br />
|-<br />
| [[:Category:Pages using duplicate arguments in template calls|Pages using duplicate arguments in template calls]]<br />
| {{PAGESINCATEGORY:Pages using duplicate arguments in template calls}}<br />
|-<br />
| [[:Category:Pages using invalid self-closed HTML tags|Pages using invalid self-closed HTML tags]]<br />
| {{PAGESINCATEGORY:Pages using invalid self-closed HTML tags}}<br />
|-<br />
| [[:Category:Pages with broken file links|Pages with broken file links]]<br />
| {{PAGESINCATEGORY:Pages with broken file links}}<br />
|-<br />
| [[:Category:Pages with broken package links|Pages with broken package links]]<br />
| {{PAGESINCATEGORY:Pages with broken package links}}<br />
|-<br />
| [[:Category:Pages with broken section links|Pages with broken section links]]<br />
| {{PAGESINCATEGORY:Pages with broken section links}}<br />
|-<br />
| [[:Category:Pages with broken templates|Pages with broken templates]]<br />
| {{PAGESINCATEGORY:Pages with broken templates}}<br />
|-<br />
| [[:Category:Pages with dead links|Pages with dead links]]<br />
| {{PAGESINCATEGORY:Pages with dead links}}<br />
|-<br />
| [[:Category:Pages with ignored display titles|Pages with ignored display titles]]<br />
| {{PAGESINCATEGORY:Pages with ignored display titles}}<br />
|-<br />
| [[:Category:Pages with missing package links|Pages with missing package links]]<br />
| {{PAGESINCATEGORY:Pages with missing package links}}<br />
|-<br />
| [[:Category:Sections flagged with Template:Remove|Sections flagged with Template:Remove]]<br />
| {{PAGESINCATEGORY:Sections flagged with Template:Remove}}<br />
|}<br />
<br />
:::::It doesn't address this issue directly, but it's pretty cool, it could also be linked from [[ArchWiki:Contributing]], [[Help:Template#List_of_templates]] and/or [[:Category:Maintenance]]. -- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 15:13, 2 May 2018 (UTC)<br />
<br />
::::::Thanks, done. -- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 19:40, 3 May 2018 (UTC)<br />
<br />
::::Actually scratch my previous reply. The fundamental question is if we want non-Arch related content on the ArchWiki. For example [[Haiku]] or [[Resolv.conf#Alternative DNS servers]] have nothing to do with Arch Linux. [[Template:Out of scope]] would help reduce scope creep.--[[User:Larivact|Larivact]] ([[User talk:Larivact|talk]]) 14:36, 4 May 2018 (UTC)<br />
<br />
:::::Trying to address such an issue systematically might be opening a big [[w:wikipedia:COW|can of worms]], we'd really need to first define unambiguously and objectively what "Arch-related" means for us. Arch Linux is just a ''software distribution'' after all, third-party that is, nothing more (well, plus all the community services), even articles like [[systemd]] could be affected depending on the definition. I don't have anything to propose at the moment, but if you want to give it a go it will be interesting to review it. -- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 11:02, 5 May 2018 (UTC)<br />
<br />
::::::''Proposal:''<br />
::::::Content on the ArchWiki needs to be about Arch Linux or software available through the official repositories or the AUR.<br />
<br />
::::::Examples of content that does not belong on the ArchWiki:<br />
::::::* content about other operating systems<br />
::::::* content about software not available through the official repositories or the AUR<br />
::::::* content about third party network services<br />
::::::--[[User:Larivact|Larivact]] ([[User talk:Larivact|talk]]) 12:45, 5 May 2018 (UTC)<br />
<br />
:::::::I've taken some time to think about this, I agree that we should have an attempt to a comprehensive definition of "(ir)relevant content" somewhere, so we have something to link to when rejecting contributions for that reason.<br />
:::::::I appreciate your proposal, but as I said I want to find a way to test its practical consequences very well, and at least at this stage I'd say it's better to limit it to a blacklist wording, like your bullet points, leaving out the intro clause.<br />
:::::::I think this is best suited to be prepended to [[Help:Style#Non-pertinent content]], so it needs some adaptations like starting each point with "Do not add content about...".<br />
:::::::We should also link that section from [[Help:Procedures#Remove an entire page]] and [[ArchWiki:Contributing#Non-Arch users]].<br />
:::::::Finally, I wouldn't like to see the start of a "sweeping" campaign all over the wiki only based on these points without case-by-case discussions: we must create some well-thought precedents first, at least. Let's split this last part of the talk into [[Help talk:Style]] and keep it open for a while to fine-tune the definitions.<br />
:::::::-- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 15:35, 22 May 2018 (UTC)<br />
<br />
::::::::I think the scope is way too important to be buried in [[Help:Style]], I think [[ArchWiki:Contributing]] would be more appropriate. I opened <s>[[ArchWiki talk:Contributing#Declaring scope]]</s> [[ArchWiki talk:About#Refining scope]] with a new proposal. --[[User:Larivact|Larivact]] ([[User talk:Larivact|talk]]) 06:19, 14 July 2018 (UTC)<br />
<br />
== Creation of package search templates ==<br />
<br />
We have got [[Template:Pkg]], [[Template:AUR]] and [[Template:man]] but package searches are still linked using external links, e.g.:<br />
<br />
<pre><br />
[https://www.archlinux.org/packages/?q=thunderbird-i18n language pack]<br />
[https://aur.archlinux.org/packages/?K=android-platform- older versions]<br />
</pre><br />
<br />
I am therefore pondering whether we should create {{ic|<nowiki>{{Pkg?|foo}}</nowiki>}} → <small>[https://www.archlinux.org/packages/?q=foo PKG?foo]</small> and {{ic|<nowiki>{{AUR?|foo}}</nowiki>}} → <small>[https://aur.archlinux.org/packages/?K=foo AUR?foo]</small>.<br />
<br />
Pros:<br />
<br />
* readers can identify package search links just by looking at them<br />
* dedicated templates make the markup more readable and semantic<br />
<br />
Cons:<br />
<br />
* it further complicates [[Help:Reading#Formatting]]<br />
<br />
While [[Template:AUR?]] already exists it's deprecated and produced "{{AUR?|foo}}", so there should be no problem in changing it.<br />
<br />
The question is if it's worth it to create two templates for ~35 pages. What do you guys think?<br />
<br />
--[[User:Larivact|Larivact]] ([[User talk:Larivact|talk]]) 08:15, 20 May 2018 (UTC)<br />
<br />
:It can be worth it, but how easy would it be to use the template, compared to the current link-like usage? You've taken your examples out of their context, [[Thunderbird]] and [[Android]], but there they are naturally inserted with an alternative link label, and as far as I remember this happens pretty much everywhere a package-search link is used.<br />
:Perhaps this hypothetical template should still allow - if not even force - an alternative label (I don't like the [https://www.archlinux.org/packages/?q=foo PKG?foo] rendering too much anyway), but then in that case why not create dedicated interwiki links instead? We can do it easily from [[Special:Interwiki]].<br />
:-- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 15:49, 22 May 2018 (UTC)<br />
<br />
::If the links require an alternative label, wrapping it with a template does not make much sense. Also, there are so few of such links and still there are similar cases that would require a manual link - e.g. the language pack links in [[Firefox#Installing]] which link to the ''pkgbase'' listings. -- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 16:50, 22 May 2018 (UTC)<br />
<br />
::What about the following interwiki prefixes?<br />
::{{bc|aur → https://aur.archlinux.org/packages/$1<br>pkg → https://www.archlinux.org/packages/$1}}--[[User:Larivact|Larivact]] ([[User talk:Larivact|talk]]) 08:03, 24 May 2018 (UTC)<br />
<br />
:::So now you want to replace the [[Template:Pkg]] and [[Template:AUR]] templates with interwiki links? That does not address the package search problem, unless you're about to write <nowiki>[[aur:?q=foo]]</nowiki>. It would also remove the special formatting of the package links, so that's no from me. -- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 09:30, 26 May 2018 (UTC)<br />
<br />
::::I obviously don't want to replace [[Template:Pkg]] and [[Template:AUR]]. I left out the query parameters to make it flexible.--[[User:Larivact|Larivact]] ([[User talk:Larivact|talk]]) 09:47, 26 May 2018 (UTC)<br />
<br />
:::::In that case the purpose of the interwiki links would not be well defined, the {{ic|1=?q=}} string (which is an implementation detail) would have to be written manually on every page, and the alternative label would have to be used to make the link less ugly. Anyway, templates are much more flexible than interwiki links so let's either use templates or interwiki links which are as simple as possible. But before discussing the implementation details, we should agree on whether the use case is worth the effort or not. -- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 10:52, 26 May 2018 (UTC)<br />
<br />
::::::Given the relatively limited number of applications, I wouldn't go as far as adding another template to our toolbox, but an interwiki link is such a simple thing that as I said I'd be in favor of setting up.<br />
::::::I wouldn't like "flexible" interwiki links either, however, I'd rather go for:<br />
aur → https://aur.archlinux.org/packages/?K=$1<br />
pkg → https://www.archlinux.org/packages/?q=$1<br />
::::::So the examples in the OP would become:<br />
<pre><br />
[[aur:android-platform-|older versions]]<br />
[[pkg:thunderbird-i18n|language pack]]<br />
</pre><br />
::::::I'm not 100% sure about the prefixes though, I wish we could use {{ic|aur?}} and {{ic|pkg?}} or similar...<br />
::::::-- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 17:09, 26 May 2018 (UTC)<br />
<br />
:::::::I meant the question is if it's worth doing it some other way instead of using the external links. External and interwiki links look the same and with the alternative label interwiki links don't save as much typing (one could even say that the URL, which is not very long in this case, can be copy-pasted completely which makes it easier to use). There are also other similar cases (like the pkgbase links above) which would require external links anyway. -- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 22:08, 26 May 2018 (UTC)<br />
<br />
::::::::Well, of course I don't have a mathematical answer to that question, I can only say that interwiki links look neater to me in the source text, and since those search URLs are resources directly provided by Arch Linux, it makes sense ''to me'' to give them a shortcut, but yeah, more than a typing advantage it's a ''personal'' aesthetic preference over which I won't argue much more than this :)<br />
::::::::Just to complete my reply, the full links could still be copy-pasted from the rendered pages; copy-pasting when editing the source text shouldn't be affected, because if you want to create a similar type of link, it doesn't matter if it's in the interwiki or the external-link form, although interwiki links are easier to just type than copy-paste. Interwiki links for split packages would be less useful and easy to use indeed.<br />
::::::::Also, about the rendered looks, I want to remind that if we want we can specifically style (standard) package-search links however we like, whether they are created with external or interwiki links, but in the latter case we can target them specifically thanks to the ''extiw'' class.<br />
::::::::-- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 15:23, 27 May 2018 (UTC)</div>Meskarunehttps://wiki.archlinux.org/index.php?title=Help_talk:Template&diff=533438Help talk:Template2018-08-11T23:38:40Z<p>Meskarune: /* New Template Application */ posted link to finished template, additional comments on standarization</p>
<hr />
<div>== Grouped Notes/Warnings/Tips and numbered parameter ==<br />
<br />
According to [[Help:Style#Notes.2C_Warnings.2C_Tips]], we should use unnumbered list to group successive Notes/Warnings/Tips into a single template. However, this can't be (easily) done when it's necessary to use numbered parameter, e.g. when some note contains URL with "=" symbol. See:<br />
<br />
{{Note|1=<br />
* first note<br />
* second note<br />
}}<br />
<br />
-- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 08:01, 14 July 2014 (UTC)<br />
<br />
:It's funny how this trick would fix that :)<br />
<br />
{{bc|<nowiki><br />
{{Note|1=<nowiki>&lt;/nowiki><br />
* first note = 1<br />
* second note = 2<br />
}}<br />
</nowiki>}}<br />
<br />
{{Note|1=<nowiki></nowiki><br />
* first note = 1<br />
* second note = 2<br />
}}<br />
<br />
:However I don't think we should recommend it (too hacky), maybe this is one of the cases where the "recommended only when the solutions above are not practicable" note in [[Help:Template#HTML entities]] can be rightfully applied. Other ideas? Avoid recommending to merge stacked note templates? The problem would persist in note templates that have to start with a list anyway...<br />
:-- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 14:47, 15 July 2014 (UTC)<br />
<br />
== Should administrative templates be translated? ==<br />
<br />
I have coincidentally encountered a stub page ([[Яндекс Диск (Русский)]], now deleted) with wrong localized title, which was marked for deletion using a localized template, [[Template:Deletion (Русский)]]. This was obviously wrong, because the page was not listed under [[Special:WhatLinksHere/Template:Deletion]], which is the list which is systematically checked.<br />
<br />
I admit that localized "administrative templates" can be useful for coordinating the effort of a translation team, and having English messages on localized pages might be considered ugly, but there are considerable downsides in splitting the [[Special:WhatLinksHere]] by language this way.<br />
<br />
Another step deeper, maybe we should put together a list of templates that should not be translated?<br />
<br />
-- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 19:59, 10 September 2014 (UTC)<br />
<br />
:I think what you're saying makes sense (and a lot) only for [[Template:Deletion]]; the admins (like any other user) can't expand, merge or update articles written in languages they don't speak, right? :) What other templates were you thinking about? -- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 10:43, 11 September 2014 (UTC)<br />
<br />
::True, every other [[Help:Template#Article status templates|article status template]] could be used in localized form by the maintenance team. Regardless, there will always be fragmentation of the [[Special:WhatLinksHere]]: for example when fulfilling the [[ArchWiki:requests|requests]], it is common to use English message (and template) on localized pages if the editor does not speak the language. This should be definitely considered by the translation teams.<br />
::Personally, I find it strange that [[Template:Out of date|outdated]] or [[Template:Accuracy|inaccurate]] content from English pages can be spread by translation (see [https://wiki.archlinux.org/index.php?title=Bluetooth_Mouse_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)&diff=next&oldid=334522#.D0.90.D0.B2.D1.82.D0.BE.D0.BC.D0.B0.D1.82.D0.B8.D1.87.D0.B5.D1.81.D0.BA.D0.B8_.D0.BF.D0.BE.D0.B4.D0.BA.D0.BB.D1.8E.D1.87.D0.B0.D1.82.D1.8C_.D0.BC.D1.8B.D1.88.D1.8C_.D0.BF.D1.80.D0.B8_.D0.B7.D0.B0.D0.B3.D1.80.D1.83.D0.B7.D0.BA.D0.B5]).<br />
::-- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 11:36, 11 September 2014 (UTC)<br />
<br />
:::About the first point on "fragmentation" of WLH pages, do you mean that it inevitably happens that some localized articles are marked with localized templates and some with English templates? In what cases is it possible that somebody adds a status template to an article without being able to understand its language? And if (s)he does, is that really the right thing to do? And if it is, maybe we could recommend to use the localized version of the template even if the message is then written in English?<br />
:::About the second point on template "spreading", I don't find it "strange" if it happens when somebody translates from an article that is marked with such status template: he's adding the localized template not only to remind to the team that the article contains outdated content, but also to notify all non-contributing readers about possible inaccuracies. But maybe I haven't understood what you meant exactly?<br />
:::Just to come back to the original topic, isn't it a good thing that the WLH pages for the English status templates are not (ideally) "polluted" by non-English articles? (Doesn't apply to Template:Deletion, I know)<br />
:::-- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 14:33, 12 September 2014 (UTC)<br />
<br />
::::For example when fulfilling [[ArchWiki:Requests]], there is often some unique keyword or phrase to identify the relevant section, even in localized pages. Google translate can be used to ''partially'' understand the surrounding text, even if the translation is grammatically incorrect. This makes it pretty easy to mark the section with English message (translating the message from English would be risky, the grammar mistakes might alter the meaning), which I think is an improvement (any warning should be better than none). Using a localized template in this case would require checking if such template exists, and even if it does, combining localized template and English message is even more weird.<br />
::::About fragmentation and using localized ''article status templates'' generally, its advantage is that it filters out other languages in the WLH lists, but this only partial (the global list will always contain some localized pages, unless we want to create the necessary templates for each language and do some mass cleanup, and the localized lists will not point out localized pages marked with global templates). The disadvantage is that global maintenance, if only marking as outdated as per [[ArchWiki:Requests]], will be harder.<br />
::::-- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 21:51, 12 September 2014 (UTC)<br />
<br />
:::::Ok, of course each solution has pros and cons (will we need a summary table for this issue too?): honestly I wouldn't find it too weird if a localized template had an English message, which could also be translated afterwards by somebody else. Yes, adding a localized status template requires a bit more typing, sometimes even copy-pasting if there are non-Latin chars in the language name: this could be mitigated in the future by [[Help talk:i18n#Language namespace(s) in place of suffixes?]]; I understand this could effectively discourage adding status templates to translations. On the other hand, a bot would be able to convert the templates to the proper localized versions very easily, so that's a task that could be performed periodically (it could be used to check also other templates). And yes, having a translated version for each template would be required if we enforced such a policy. Finally, let's not forget that localized templates would be more useful to casual readers than English templates.<br />
:::::-- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 05:03, 14 September 2014 (UTC)<br />
<br />
::::About the template spreading, it is safe to assume that [[Template:Poor writing]] will never be translated. Instead, the translator will probably fix the English article prior to translating it, which is happening ''a lot'', even when the style issues are not marked with a template, and this is absolutely great. On the other hand, I have never noticed any other ''article status template'' being resolved during translation. Admittedly, sometimes it is best to just translate the inaccurate content along with the template, or the translator might be unable to resolve it, but in terms of statistics I think that I should have noticed at least some effort by now.<br />
::::-- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 21:51, 12 September 2014 (UTC)<br />
<br />
:::::Well, [[Template:Poor writing]] does have a translation already with some backtransclusions, I'm not sure if you'd delete it (I wouldn't). -- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 05:03, 14 September 2014 (UTC)<br />
<br />
::As the discussion about other [[Help:Template#Article status templates|article status templates]] is getting slightly off-topic, let's take a list of one item for now, [[Template:Deletion]]. How do we mark it as non-translatable? The translated versions could then be redirected to the English template and deleted when there are no backlinks. -- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 22:01, 12 September 2014 (UTC)<br />
<br />
:::I think the [https://docs.python.org/3.4/glossary.html#term-eafp EAFP] approach is better in this case, I can think of 2 implementations:<br />
:::# Create a redirect for each Template:Deletion_(Language) title and protect them from editing with an exhaustive justification in the summary (this solution would A) be more consistent with the usage of the other status templates and B) allow us grouping the backtransclusions of Template:Deletion by language in its WLH page).<br />
:::# Redirect the existing translations temporarily, convert them all with a bot, then delete them and finally protect all the Template:Deletion_(Language) titles from creation with an exhaustive justification in the summary.<br />
:::I prefer 1), do you agree/disagree or have additional options?<br />
:::-- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 05:08, 14 September 2014 (UTC)<br />
<br />
== Template "nowrap" ==<br />
<br />
I would like to ask for opinions about adding a wiki template like [https://en.wikipedia.org/wiki/Template:Nowrap Wikipedia's "nowrap"].<br />
<br />
Although there are already some alternative solutions available for specific cases (e.g. {{ic|&amp;nbsp;}} for non-breaking space, {{ic|&amp;#8209;}} for non-breaking hyphen), the "nowrap" template (and/or other similar templates) covers additional cases.<br />
<br />
For example, you might find one line of text presented as ending with the word {{ic|package}} and the same sentence continues in the next line, presented as starting with {{ic|(s)}}. By using the "nowrap" template on this expression, you get {{ic|package(s)}} all together, either at the end of one line or at the beginning of the next one, but never separated in 2 lines.<br />
<br />
This is just an example. Other cases can be (more) relevant (too). Obviously, the "nowrap" template can also be used instead of (multiple) non-breaking spaces and non-breaking hyphens.<br />
<br />
Without a "nowrap" (or similar) template, the alternatives are either to not care about these things, or to use one of the following (please note that some alternatives might be more appropriate than others):<br />
<br />
{{bc|<br />
1=&lt;span class="nowrap"&gt;This text will not wrap.&lt;/span&gt;<br />
Some sentence... &lt;span class="nowrap"&gt;package(s)&lt;/span&gt; and the sentence continues.<br />
}}<br />
{{bc|<br />
1=&lt;span style="white-space:nowrap"&gt;This text will not wrap.&lt;/span&gt;<br />
Some sentence... &lt;span style="white-space:nowrap"&gt;package(s)&lt;/span&gt; and the sentence continues.<br />
}}<br />
<br />
The "nowrap" template also has some "alias" (or redirection) names in Wikipedia, or we could use a new different name for this same template.<br />
<br />
Is this kind of situation worth a template for the ArchLinux wiki? Any thoughts? [[User:Ady|Ady]] ([[User talk:Ady|talk]]) 15:39, 27 March 2016 (UTC)<br />
<br />
:I don't know, it seems a bit overcomplicated to me... What browser are you using that wraps "package(s)" at the parenthesis? At least Firefox correctly interprets it as a single word, since I do believe that these cases should be handled by the browser. The same goes for e.g. "package-s". Can you give more examples where this template would be needed (and would be a clearly better solution than using non-breaking spaces etc.)? — [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 06:57, 30 March 2016 (UTC)<br />
<br />
::Hmm, perhaps I have not used the best example - I know I have seen this "package(s)" example somewhere, but currently I cannot recall where / when exactly.<br />
::I should point out that users could see an unwanted (word) wrapping, depending on the width of the wiki text area (e.g. screen resolution, web browser's zoom, fonts...).<br />
::As for "better" (or common) examples, please see [https://en.wikipedia.org/wiki/Wikipedia:NOWRAP] for brevity.<br />
::BTW, using space characters and hyphens are the (most) common word-separators in certain languages, but not in all of them (e.g. CJK languages), so a "nowrap" template might be even more helpful in some translated wiki pages than in the English ones.<br />
::I want to be clear. I am also not completely sure this type of template is "essential" for the ArchLinux wiki. It is potentially helpful; the question would be whether it is worth it. [[User:Ady|Ady]] ([[User talk:Ady|talk]]) 02:51, 31 March 2016 (UTC)<br />
<br />
:::I see, I should have been more specific, but what I meant with "more examples" is existing samples of the ArchWiki (in any language) where such template would improve the page rendering and/or the source text. To put it in other words: after creating the template, where exactly is it going to be used?<br />
:::In general I'm against creating templates (or Categories, etc.) "just in case they come in handy one day", although in this case I admit the idea can make somewhat sense, so if you really feel you want to create the template, I won't object further, maybe somebody else will find good uses for it and we'll start appreciating its existence ^^<br />
:::— [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 03:23, 31 March 2016 (UTC)<br />
<br />
::::I am a contributor to other wiki sites (in addition to the ArchLinux wiki). As editor(s) of wiki text, it is usually recommended to be aware that readers might use very different setups. While I/we might not see a certain behavior in the presentation of the wiki text / page, others might.<br />
::::Although the ArchLinux wiki would not (need to) consider older versions of web browsers (or web browsers being used in non-Linux OSes), I am used to test the results of my editions with at least a couple of different setups.<br />
::::I found a [https://www.cs.tut.fi/~jkorpela/html/nobr.html web page] about word wrapping in HTML that might be of interest to (some) wiki editors. Some notes about it:<br />
::::* Most of its content mentions Internet Explorer, but it also mentions Firefox, Opera and others.<br />
::::* In theory, it is somewhat outdated (at the time of this writing, its last update was during 2013).<br />
::::* In spite of its date, I am convinced that at least some of the issues are still relevant (with potential improvements and regressions in each new version / variant of web browser).<br />
::::* The part of that web page that is relevant to our discussion here is that there are several alternative methods so to achieve the desired wrapping result, whether it is about preventing word-wrapping, imposing word-wrapping, or allowing optional wrapping at certain specific positions within an expression / word.<br />
::::Some of the simpler alternatives, (probably with a varying degree of effective results): {{ic|&amp;nbsp;}}, {{ic|&amp;#8209;}}, {{ic|&amp;#xfeff;}}, {{ic|&amp;#8288;}}, {{ic|wbc}}, and for generic wiki text, a "nowrap" (or, one of its alias names, "nobr") templates.<br />
::::The advantage of a "nowrap" template over its non-template alternatives is that it is more generic; editors can avoid having to use different tricks according to the specific character (space, hyphen, minus sign, em/en dash...) and it covers potential cases that have no alternative or that would make the source of the wiki text less-readable.<br />
::::So, without a "nowrap" template, I guess that most of the relevant cases in Latin-like languages would be covered by some non-template alternative, or by using the full "span style expression". Although perhaps there might be some cases in which a "nowrap" template would not have an alternative in Latin-like languages, I am also ''guessing'' that such (few?) cases would probably not be worth a template in the ArchLinux wiki.<br />
::::But then there are the CJK languages, in which wrapping styles / rules might be more important / complex than some form of "hyphen" and/or space characters.<br />
::::Maybe [[User:Fengchao]] and/or other members that are fluent in CJK languages might have a different / relevant perspective?<br />
::::— [[User:Ady|Ady]] ([[User talk:Ady|talk]]) 13:40, 1 April 2016 (UTC)<br />
<br />
== Forum link ==<br />
<br />
:Moved from [[Talk:Bash/Functions]] -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 11:13, 23 October 2015 (UTC)<br />
<br />
The article has two types of forum links:<br />
<br />
*[https://bbs.archlinux.org/viewtopic.php?id=30155 BBS#30155] (intro, as in [[Template:Bug]]) and<br />
*https://bbs.archlinux.org/viewtopic.php?id=101010 (section [[Bash/Functions#Kingbash|#Kingbash]])<br />
<br />
Which one is right again? --'''<span style="text-shadow:grey 0.1em 0.1em 0.1em; font-size:110%">[[User:Det|<span style="color:gold">D</span><span style="color:orange">e</span><span style="color:red">t</span>]][[User talk:Det|<sup><font color="white">talk</font></sup>]]</span>''' 11:44, 24 July 2015 (UTC)<br />
<br />
:Full URLs should be avoided, see [[Help:Style#Hypertext_metaphor]], otherwise I know of no recommended wording for forum links. -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 12:13, 24 July 2015 (UTC)<br />
<br />
::That section doesn't actually even talk about external links, while [[Help:Editing#External links]] says ''"just type the full URL"'', but also that ''"it is often more useful to make the link display something other than the URL"''. --'''<span style="text-shadow:grey 0.1em 0.1em 0.1em; font-size:110%">[[User:Det|<span style="color:gold">D</span><span style="color:orange">e</span><span style="color:red">t</span>]][[User talk:Det|<sup><font color="white">talk</font></sup>]]</span>''' 16:04, 24 July 2015 (UTC)<br />
<br />
:::This was already mentioned somewhere some time ago, I don't remember where nor when, anyway [https://wiki.archlinux.org/index.php?title=Special%3ALinkSearch&target=https%3A%2F%2Fbbs.archlinux.org%2Fviewtopic.php] would seem to justify the creation of a [[Template:BBS]], just like we have [[Template:Bug]]. — [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 15:18, 25 July 2015 (UTC)<br />
<br />
::::The problem with a BBS template is that links to the full thread have simple query string {{ic|1=?id=''number''}}, whereas links to posts have {{ic|1=?pid=''number''#''number''}}. There would have to be two different templates, which would get confusing very quickly.<br />
::::There are more problems with existing links to the BBS: from looking at the list you posted, there are many links specifying the page number in the query string ({{ic|1=p=''num''}}), but FluxBB has variable/configurable number of posts per page. The links should point to either the full thread (first page), or a specific post.<br />
:::: -- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 15:31, 25 July 2015 (UTC)<br />
<br />
:::::Like with links to bugs, a bbs url has to be pasted and manually modified anyway, but most of the times the conversion to [[Template:Bug]] ends up being done by a bot, which would be able to use two different BBS templates appropriately.<br />
:::::I see 5 types of viewtopic.php links:<br />
:::::# {{ic|1=?id=''number''}}: these could be changed to [[Template:BBSid]] instances.<br />
:::::# {{ic|1=?id=''number''&p=''number''}}: when {{ic|''number''}} is {{ic|1}}, they could drop it and use [[Template:BBSid]]; otherwise they should point to a post as you say and use a [[Template:BBSpid]] template (we could publish a list of such links for manual fixing, since the correct post has to be found by a human, a bot can't do it).<br />
:::::# {{ic|1=?pid=''number''}}: these could be changed to [[Template:BBSpid]] instances, the link fragment is the same as {{ic|''number''}} with a prefixed {{ic|p}}, so it's easy to add using the same template argument.<br />
:::::# {{ic|1=?pid=''number''#p''number''}}: these could be changed to [[Template:BBSpid]] instances, {{ic|''number''}} needs to be specified only once.<br />
:::::# {{ic|1=?t=''number''}}: these seem to be all broken, so they should be marked as dead, or fixed.<br />
:::::I've chosen [[Template:BBSid]] and [[Template:BBSpid]] instead of e.g. [[Template:BBSthread]] and [[Template:BBSpost]] thinking that it would be easier to get their relation to the url when used manually, but I'm still quite undecided (provided that we actually decide to introduce the new templates).<br />
:::::— [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 04:27, 26 July 2015 (UTC)<br />
<br />
::::::3. and 4. are identical (btw. haven't you confused their descriptions a little?), except that 3. only opens the page with the given post (based on the user's posts-per-page setting), but stays at the top of the page, whereas 4. points directly to the post (the {{ic|#p''number''}} is the trick to do it). So 3. should also never be used, but it's trivial to transform it to 4. -- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 09:50, 26 July 2015 (UTC)<br />
<br />
:::::::Of course, I was reasoning from a bot's point of view, which would indeed see 3. and 4. as different cases. My description of 3. was assuming that the need for a fragment was obvious (hence the mention of how easy it is to add it even if it's not in the original link), but what's important is that you seem to have understood anyhow :P — [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 10:44, 26 July 2015 (UTC)<br />
<br />
::::::::I agree on using only PID and ID. If you're linking to a page, you most likely should link to a PID. To distinguish between both, you could use {{ic|##}} for PID and {{ic|#}} for ID.<br />
::::::::I don't have suggestions on automating the implementation. -- [[User:Alad|Alad]] ([[User talk:Alad|talk]]) 11:18, 23 October 2015 (UTC)<br />
<br />
== Escape template-breaking characters ==<br />
<br />
I make changes to the body of the section. But I am not stupid to rename/move the section. That is why while people encounter escaping problems, they get a banner that transfer them to this section as usual. I tested that. I make rewrite of section, because I learn MediaWiki and Arch Wiki and I almost understand nothing from that article. Also escaping of '|' was surprisingly lacking, while I was transferring here. - [[User:PiroXiline|PiroXiline]] ([[User talk:PiroXiline|talk]]) 17:28, 9 September 2016 (UTC)<br />
<br />
== New Template Application ==<br />
<br />
I was thinking a new template could be added for application pages that would give quick info on a package. It would be right floated like "related articles". I made a quick example here: [[User:Meskarune/package]] but it could use more work on the format/syntax. [[User:Meskarune|Meskarune]] ([[User talk:Meskarune|talk]]) 20:17, 23 January 2017 (UTC)<br />
<br />
:I don't see the point of this. You want to know the package name? Look in ''Installation''. The website and description? Should be linked in the intro. systemd service, user & group and man pages should be under ''Usage''. Config paths & examples under ''Configuration''. –[[User:Larivact|Larivact]] ([[User talk:Larivact|talk]]) 05:43, 2 January 2018 (UTC)<br />
<br />
::The point of the sidebar table is that people will not have to go searching through lots of text for important information. If you only want to quickly know the service file and config file on Arch without reading through all the text on the wiki it would be in an easy to find place. Obviously its just some extra "eye candy" if you will that people could choose to use.<br />
::<br />
::The larger issue I was trying to address was the lack of strict standardization for pages on packages.<br />
::<br />
::The idea is that the content, and specific order of sections for package pages should be standardized with certain sections being required. For example, install and configuration. This will increase the quality of package pages on the wiki and enable scripts to be able to automatically mark issues such as lacking an install section. This isn't just about a template for a table, it is about having more specific standards for package pages as well in order to help people write them easier and increase over all quality and decrease maintenance time.<br />
::<br />
::My proposal is that the example page I wrote should be the standard format for all pages on packages on the wiki.[[User:Meskarune|Meskarune]] ([[User talk:Meskarune|talk]]) 19:39, 9 August 2018 (UTC)<br />
<br />
:::If you want to find out services / configuration files / man pages of a package without reading an article, you can just grep {{ic|pacman -Ql}} for {{ic|/system/}}, {{ic|/etc/}} and {{ic|/man/}}. Your sidebar duplicates information and would thus increase the cost of maintenance (unnecessarily so). We already have [[Help:Style#Standard_sections|standard sections]]. I don't think that we need to require some sections / have a strict order for all standard sections. We don't need a dedicated example article, we got enough actual articles to serve as an example. --[[User:Larivact|Larivact]] ([[User talk:Larivact|talk]]) 05:06, 10 August 2018 (UTC)<br />
::::I put together code for the info box: https://wiki.archlinux.org/index.php/User:Meskarune/Template:application first time writing a template, it was a good learning experience if anything else. I originally got the idea from wikipedia info boxes.<br />
<br />
Anyways, I don't propose that the info box be required for every package page, but on certain ones it would be very useful, for things like web servers, email servers, etc it is very common for people to go to the wiki page first, then go to upstream docs/bug trackers after, so having a small list would be helpful, and I think if people want to add them to such pages, the maintenance is not much since upstream doesn't often change. As for man page links, I often have the arch wiki on my phone while doing things on a computer without a GUI, and it is honestly useful to have man page links so its easier to read something on a phone while doing something in a TTY. I don't know how common that use case is, but I can't be the only one. It would also be useful for people who are visually impaired because finding links in text is difficult with a screen reader, and voice commands on phones are better than they are on linux.<br />
<br />
And as for the "standard sections" in the style guide, "installation" wasn't even on there until you added it after this discussion started. (and I am grateful you took the time to do that) Part of the reason for my original suggestion of having more standard sections was because there was a lack. I also still believe that having certain sections required for packages will increase quality and consistency of the pages over time and lower maintenance because scripts can automatically tag any page under category:package if it is lacking installation or configuration. But that is of course up to y'all to decide about that. I really don't have the time/energy to argue about this if no one else thinks more standardization is a good idea.<br />
''[Moved from [[ArchWiki talk:Administrators#Package page style guide/template]]. --[[User:Larivact|Larivact]] ([[User talk:Larivact|talk]]) 13:07, 9 August 2018 (UTC)]''<br />
<br />
I wrote a style guide/example template for package wiki pages. I wanted to get some feedback on it and possibly see if this couldn't be adopted as a standard on the wiki. This is the page: [[User:Meskarune/package]]<br />
<br />
Maybe a wiki template could be created for the application info table sidebar thingy, this way it is faster/easier to add.<br />
<br />
I think this would help improve the quality of package pages and help users get useful information faster. --[[User:Meskarune|Meskarune]] ([[User talk:Meskarune|talk]]) 20:37, 8 August 2018 (UTC)<br />
<br />
== Creation of Template:Out of scope ==<br />
<br />
We currently don't have a template to flag pages that are not relevant to Arch Linux. --[[User:Larivact|Larivact]] ([[User talk:Larivact|talk]]) 07:54, 26 April 2018 (UTC)<br />
<br />
:...but we have a [[Help:Procedures#Remove_an_entire_page|procedure]] that involves existing templates; after all, if an article is deemed irrelevant we ultimately want to discuss an ''action'' to do on it, i.e. [[Template:Expansion|expand]], [[Template:Out of date|update]], [[Template:Accuracy|fix]], [[Template:Style|clean-up]], [[Template:Merge|merge]], [[Template:Move|move]], [[Template:Redirect|redirect]] or [[Template:Archive|archive]]. Being irrelevant is the ''reason'' for flagging, for which all status templates have a dedicated parameter. -- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 15:42, 26 April 2018 (UTC)<br />
<br />
::I think the "move article back to the author's User page" action deserves its own template, so that such procedures can be tracked via [[Special:WhatLinksHere]]. --[[User:Larivact|Larivact]] ([[User talk:Larivact|talk]]) 16:07, 26 April 2018 (UTC)<br />
<br />
:::I don't know, it doesn't feel like it happens often enough to justify a complication of our status-template system, although that's the only opposing argument that I can think of.<br />
:::On the other hand, even though the English backtransclusions of [https://wiki.archlinux.org/index.php?title=Special:WhatLinksHere/Template:Move&hidelinks=1&hideredirs=1 Template:Move] are only very few, we did lose track of the only article flagged to be moved back to its author's page, [[Bottle]], so you may have a point there. I've just moved that article though, so coming back to my previous argument, a hypothetical new template would now be left unused.<br />
:::Tl;dr I'm neutral, I just wanted to offer some considerations, for the moment I've expanded [https://wiki.archlinux.org/index.php?title=Help%3AProcedures&type=revision&diff=518901&oldid=517954 Help:Procedures#Remove an entire page]. -- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 16:47, 27 April 2018 (UTC)<br />
<br />
::::Maybe we could put the following table into [[ArchWiki:Statistics#Maintenance statistics]] to help with the tracking problem? Note that the <nowiki>{{PAGESINCATEGORY}}</nowiki> values are cached and change only when the page is purged or edited, but [[ArchWiki:Statistics]] is updated frequently anyway. -- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 17:14, 1 May 2018 (UTC)<br />
::::{| class="wikitable"<br />
! Category name<br />
! Pages in category<br />
|-<br />
| [[:Category:Noindexed pages|Noindexed pages]]<br />
| {{PAGESINCATEGORY:Noindexed pages}}<br />
|-<br />
| [[:Category:Pages flagged with Template:Archive|Pages flagged with Template:Archive]]<br />
| {{PAGESINCATEGORY:Pages flagged with Template:Archive}}<br />
|-<br />
| [[:Category:Pages flagged with Template:Redirect|Pages flagged with Template:Redirect]]<br />
| {{PAGESINCATEGORY:Pages flagged with Template:Redirect}}<br />
|-<br />
| [[:Category:Pages flagged with Template:Stub|Pages flagged with Template:Stub]]<br />
| {{PAGESINCATEGORY:Pages flagged with Template:Stub}}<br />
|-<br />
| [[:Category:Pages or sections flagged with Template:Accuracy|Pages or sections flagged with Template:Accuracy]]<br />
| {{PAGESINCATEGORY:Pages or sections flagged with Template:Accuracy}}<br />
|-<br />
| [[:Category:Pages or sections flagged with Template:Bad translation|Pages or sections flagged with Template:Bad translation]]<br />
| {{PAGESINCATEGORY:Pages or sections flagged with Template:Bad translation}}<br />
|-<br />
| [[:Category:Pages or sections flagged with Template:Expansion|Pages or sections flagged with Template:Expansion]]<br />
| {{PAGESINCATEGORY:Pages or sections flagged with Template:Expansion}}<br />
|-<br />
| [[:Category:Pages or sections flagged with Template:Laptop style|Pages or sections flagged with Template:Laptop style]]<br />
| {{PAGESINCATEGORY:Pages or sections flagged with Template:Laptop style}}<br />
|-<br />
| [[:Category:Pages or sections flagged with Template:Merge|Pages or sections flagged with Template:Merge]]<br />
| {{PAGESINCATEGORY:Pages or sections flagged with Template:Merge}}<br />
|-<br />
| [[:Category:Pages or sections flagged with Template:Move|Pages or sections flagged with Template:Move]]<br />
| {{PAGESINCATEGORY:Pages or sections flagged with Template:Move}}<br />
|-<br />
| [[:Category:Pages or sections flagged with Template:Out of date|Pages or sections flagged with Template:Out of date]]<br />
| {{PAGESINCATEGORY:Pages or sections flagged with Template:Out of date}}<br />
|-<br />
| [[:Category:Pages or sections flagged with Template:Style|Pages or sections flagged with Template:Style]]<br />
| {{PAGESINCATEGORY:Pages or sections flagged with Template:Style}}<br />
|-<br />
| [[:Category:Pages or sections flagged with Template:Translateme|Pages or sections flagged with Template:Translateme]]<br />
| {{PAGESINCATEGORY:Pages or sections flagged with Template:Translateme}}<br />
|-<br />
| [[:Category:Pages using duplicate arguments in template calls|Pages using duplicate arguments in template calls]]<br />
| {{PAGESINCATEGORY:Pages using duplicate arguments in template calls}}<br />
|-<br />
| [[:Category:Pages using invalid self-closed HTML tags|Pages using invalid self-closed HTML tags]]<br />
| {{PAGESINCATEGORY:Pages using invalid self-closed HTML tags}}<br />
|-<br />
| [[:Category:Pages with broken file links|Pages with broken file links]]<br />
| {{PAGESINCATEGORY:Pages with broken file links}}<br />
|-<br />
| [[:Category:Pages with broken package links|Pages with broken package links]]<br />
| {{PAGESINCATEGORY:Pages with broken package links}}<br />
|-<br />
| [[:Category:Pages with broken section links|Pages with broken section links]]<br />
| {{PAGESINCATEGORY:Pages with broken section links}}<br />
|-<br />
| [[:Category:Pages with broken templates|Pages with broken templates]]<br />
| {{PAGESINCATEGORY:Pages with broken templates}}<br />
|-<br />
| [[:Category:Pages with dead links|Pages with dead links]]<br />
| {{PAGESINCATEGORY:Pages with dead links}}<br />
|-<br />
| [[:Category:Pages with ignored display titles|Pages with ignored display titles]]<br />
| {{PAGESINCATEGORY:Pages with ignored display titles}}<br />
|-<br />
| [[:Category:Pages with missing package links|Pages with missing package links]]<br />
| {{PAGESINCATEGORY:Pages with missing package links}}<br />
|-<br />
| [[:Category:Sections flagged with Template:Remove|Sections flagged with Template:Remove]]<br />
| {{PAGESINCATEGORY:Sections flagged with Template:Remove}}<br />
|}<br />
<br />
:::::It doesn't address this issue directly, but it's pretty cool, it could also be linked from [[ArchWiki:Contributing]], [[Help:Template#List_of_templates]] and/or [[:Category:Maintenance]]. -- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 15:13, 2 May 2018 (UTC)<br />
<br />
::::::Thanks, done. -- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 19:40, 3 May 2018 (UTC)<br />
<br />
::::Actually scratch my previous reply. The fundamental question is if we want non-Arch related content on the ArchWiki. For example [[Haiku]] or [[Resolv.conf#Alternative DNS servers]] have nothing to do with Arch Linux. [[Template:Out of scope]] would help reduce scope creep.--[[User:Larivact|Larivact]] ([[User talk:Larivact|talk]]) 14:36, 4 May 2018 (UTC)<br />
<br />
:::::Trying to address such an issue systematically might be opening a big [[w:wikipedia:COW|can of worms]], we'd really need to first define unambiguously and objectively what "Arch-related" means for us. Arch Linux is just a ''software distribution'' after all, third-party that is, nothing more (well, plus all the community services), even articles like [[systemd]] could be affected depending on the definition. I don't have anything to propose at the moment, but if you want to give it a go it will be interesting to review it. -- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 11:02, 5 May 2018 (UTC)<br />
<br />
::::::''Proposal:''<br />
::::::Content on the ArchWiki needs to be about Arch Linux or software available through the official repositories or the AUR.<br />
<br />
::::::Examples of content that does not belong on the ArchWiki:<br />
::::::* content about other operating systems<br />
::::::* content about software not available through the official repositories or the AUR<br />
::::::* content about third party network services<br />
::::::--[[User:Larivact|Larivact]] ([[User talk:Larivact|talk]]) 12:45, 5 May 2018 (UTC)<br />
<br />
:::::::I've taken some time to think about this, I agree that we should have an attempt to a comprehensive definition of "(ir)relevant content" somewhere, so we have something to link to when rejecting contributions for that reason.<br />
:::::::I appreciate your proposal, but as I said I want to find a way to test its practical consequences very well, and at least at this stage I'd say it's better to limit it to a blacklist wording, like your bullet points, leaving out the intro clause.<br />
:::::::I think this is best suited to be prepended to [[Help:Style#Non-pertinent content]], so it needs some adaptations like starting each point with "Do not add content about...".<br />
:::::::We should also link that section from [[Help:Procedures#Remove an entire page]] and [[ArchWiki:Contributing#Non-Arch users]].<br />
:::::::Finally, I wouldn't like to see the start of a "sweeping" campaign all over the wiki only based on these points without case-by-case discussions: we must create some well-thought precedents first, at least. Let's split this last part of the talk into [[Help talk:Style]] and keep it open for a while to fine-tune the definitions.<br />
:::::::-- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 15:35, 22 May 2018 (UTC)<br />
<br />
::::::::I think the scope is way too important to be buried in [[Help:Style]], I think [[ArchWiki:Contributing]] would be more appropriate. I opened <s>[[ArchWiki talk:Contributing#Declaring scope]]</s> [[ArchWiki talk:About#Refining scope]] with a new proposal. --[[User:Larivact|Larivact]] ([[User talk:Larivact|talk]]) 06:19, 14 July 2018 (UTC)<br />
<br />
== Creation of package search templates ==<br />
<br />
We have got [[Template:Pkg]], [[Template:AUR]] and [[Template:man]] but package searches are still linked using external links, e.g.:<br />
<br />
<pre><br />
[https://www.archlinux.org/packages/?q=thunderbird-i18n language pack]<br />
[https://aur.archlinux.org/packages/?K=android-platform- older versions]<br />
</pre><br />
<br />
I am therefore pondering whether we should create {{ic|<nowiki>{{Pkg?|foo}}</nowiki>}} → <small>[https://www.archlinux.org/packages/?q=foo PKG?foo]</small> and {{ic|<nowiki>{{AUR?|foo}}</nowiki>}} → <small>[https://aur.archlinux.org/packages/?K=foo AUR?foo]</small>.<br />
<br />
Pros:<br />
<br />
* readers can identify package search links just by looking at them<br />
* dedicated templates make the markup more readable and semantic<br />
<br />
Cons:<br />
<br />
* it further complicates [[Help:Reading#Formatting]]<br />
<br />
While [[Template:AUR?]] already exists it's deprecated and produced "{{AUR?|foo}}", so there should be no problem in changing it.<br />
<br />
The question is if it's worth it to create two templates for ~35 pages. What do you guys think?<br />
<br />
--[[User:Larivact|Larivact]] ([[User talk:Larivact|talk]]) 08:15, 20 May 2018 (UTC)<br />
<br />
:It can be worth it, but how easy would it be to use the template, compared to the current link-like usage? You've taken your examples out of their context, [[Thunderbird]] and [[Android]], but there they are naturally inserted with an alternative link label, and as far as I remember this happens pretty much everywhere a package-search link is used.<br />
:Perhaps this hypothetical template should still allow - if not even force - an alternative label (I don't like the [https://www.archlinux.org/packages/?q=foo PKG?foo] rendering too much anyway), but then in that case why not create dedicated interwiki links instead? We can do it easily from [[Special:Interwiki]].<br />
:-- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 15:49, 22 May 2018 (UTC)<br />
<br />
::If the links require an alternative label, wrapping it with a template does not make much sense. Also, there are so few of such links and still there are similar cases that would require a manual link - e.g. the language pack links in [[Firefox#Installing]] which link to the ''pkgbase'' listings. -- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 16:50, 22 May 2018 (UTC)<br />
<br />
::What about the following interwiki prefixes?<br />
::{{bc|aur → https://aur.archlinux.org/packages/$1<br>pkg → https://www.archlinux.org/packages/$1}}--[[User:Larivact|Larivact]] ([[User talk:Larivact|talk]]) 08:03, 24 May 2018 (UTC)<br />
<br />
:::So now you want to replace the [[Template:Pkg]] and [[Template:AUR]] templates with interwiki links? That does not address the package search problem, unless you're about to write <nowiki>[[aur:?q=foo]]</nowiki>. It would also remove the special formatting of the package links, so that's no from me. -- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 09:30, 26 May 2018 (UTC)<br />
<br />
::::I obviously don't want to replace [[Template:Pkg]] and [[Template:AUR]]. I left out the query parameters to make it flexible.--[[User:Larivact|Larivact]] ([[User talk:Larivact|talk]]) 09:47, 26 May 2018 (UTC)<br />
<br />
:::::In that case the purpose of the interwiki links would not be well defined, the {{ic|1=?q=}} string (which is an implementation detail) would have to be written manually on every page, and the alternative label would have to be used to make the link less ugly. Anyway, templates are much more flexible than interwiki links so let's either use templates or interwiki links which are as simple as possible. But before discussing the implementation details, we should agree on whether the use case is worth the effort or not. -- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 10:52, 26 May 2018 (UTC)<br />
<br />
::::::Given the relatively limited number of applications, I wouldn't go as far as adding another template to our toolbox, but an interwiki link is such a simple thing that as I said I'd be in favor of setting up.<br />
::::::I wouldn't like "flexible" interwiki links either, however, I'd rather go for:<br />
aur → https://aur.archlinux.org/packages/?K=$1<br />
pkg → https://www.archlinux.org/packages/?q=$1<br />
::::::So the examples in the OP would become:<br />
<pre><br />
[[aur:android-platform-|older versions]]<br />
[[pkg:thunderbird-i18n|language pack]]<br />
</pre><br />
::::::I'm not 100% sure about the prefixes though, I wish we could use {{ic|aur?}} and {{ic|pkg?}} or similar...<br />
::::::-- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 17:09, 26 May 2018 (UTC)<br />
<br />
:::::::I meant the question is if it's worth doing it some other way instead of using the external links. External and interwiki links look the same and with the alternative label interwiki links don't save as much typing (one could even say that the URL, which is not very long in this case, can be copy-pasted completely which makes it easier to use). There are also other similar cases (like the pkgbase links above) which would require external links anyway. -- [[User:Lahwaacz|Lahwaacz]] ([[User talk:Lahwaacz|talk]]) 22:08, 26 May 2018 (UTC)<br />
<br />
::::::::Well, of course I don't have a mathematical answer to that question, I can only say that interwiki links look neater to me in the source text, and since those search URLs are resources directly provided by Arch Linux, it makes sense ''to me'' to give them a shortcut, but yeah, more than a typing advantage it's a ''personal'' aesthetic preference over which I won't argue much more than this :)<br />
::::::::Just to complete my reply, the full links could still be copy-pasted from the rendered pages; copy-pasting when editing the source text shouldn't be affected, because if you want to create a similar type of link, it doesn't matter if it's in the interwiki or the external-link form, although interwiki links are easier to just type than copy-paste. Interwiki links for split packages would be less useful and easy to use indeed.<br />
::::::::Also, about the rendered looks, I want to remind that if we want we can specifically style (standard) package-search links however we like, whether they are created with external or interwiki links, but in the latter case we can target them specifically thanks to the ''extiw'' class.<br />
::::::::-- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 15:23, 27 May 2018 (UTC)</div>Meskarunehttps://wiki.archlinux.org/index.php?title=User:Meskarune/package&diff=533098User:Meskarune/package2018-08-10T16:04:26Z<p>Meskarune: updated manpage in template</p>
<hr />
<div>[[Category:Applications]]<br />
{{User:meskarune/Template:application<br />
| packagename=mariadb<br />
| upstreamurl=https://downloads.mariadb.org/<br />
| upstreamname=MariaDB Downloads<br />
| description=database server<br />
| servicefile=mariadb.service<br />
| configfile=/etc/mysql/my.cnf<br />
| configexamples=/usr/share/mysql/<br />
| usergroup=mysql:mysql<br />
| manpage={{man|1|mysql}}<br />
| updocurl=https://mariadb.com/kb/en/mariadb/documentation/<br />
| updocname=mariadb.com<br />
}}<br />
<br />
{{Related articles start}}<br />
{{Related|phpMyAdmin}}<br />
{{Related|Adminer}}<br />
{{Related articles end}}<br />
<br />
Introduction to a package, for example:<br />
<br />
MySQL is a widely spread, multi-threaded, multi-user SQL database. For more information about features, see the [http://www.mysql.com/ official homepage].<br />
<br />
== Installation ==<br />
<br />
The various supported ways to install the package on Arch Linux.<br />
<br />
[https://mariadb.org/ MariaDB] is the [https://www.archlinux.org/news/mariadb-replaces-mysql-in-repositories/ default implementation] of MySQL in Arch Linux, provided with the {{Pkg|mariadb}} package.<br />
<br />
== Configuration ==<br />
<br />
How to configure the software for Arch Linux. Pretend there are instructions and examples. yay.<br />
<br />
== Maintenance ==<br />
<br />
This section is of course optional as not all packages will need it. But information should go in here about things a user may have to do occasionally, such as cache clearing. what logs to rotate, etc.<br />
<br />
==== Updating ====<br />
<br />
Any special information the user needs to know about updating the package on Arch Linux. For example if a reboot is required or service needs to be restarted (like with kernel updates, you need to reboot for disk auto mounting to work). Possibly notes if there are major changes between versions. One example is conky which had a major change in configuration.<br />
<br />
==== Backups ==== <br />
<br />
Any special actions that need to be taken for backup creation, or what directories/files you should back up if the program has non-obvious things. config files in /etc/ is pretty obvious, but special stuff in /var might not be.<br />
<br />
== Known issues ==<br />
<br />
Bugs or problems that do not currently have a fix. This helps avoid duplicate bug reports or people searching and trying variously solutions in vain.<br />
<br />
== Troubleshooting ==<br />
<br />
Common issues and how to fix them. Focus on Arch specific things. If it becomes too large, make it a separate sub page at <package page>/Troubleshooting. Link in related pages.<br />
<br />
== Tips and tricks ==<br />
<br />
Some fancy stuff here about optimization, more efficient ways to do something, or make life with the app easier. Prefer Arch Linux specific stuff. If it becomes too large, make it a separate sub page at <package page>/Tips_and_Tricks. Link in related pages.<br />
<br />
== See also ==<br />
<br />
* <external links to useful outside resources></div>Meskarunehttps://wiki.archlinux.org/index.php?title=User:Meskarune/Template:application&diff=533097User:Meskarune/Template:application2018-08-10T16:02:59Z<p>Meskarune: added a second manpage in example so people can see how to add more than one</p>
<hr />
<div><includeonly>{| class="wikitable" style="float:right;line-height:200%;width:25%;margin: 0 0 0.5em 0.5em;"<br />
|+ <p style="background: #333;color: white;padding: 0.2em;border-bottom: 5px #08c solid;margin: 0;text-align: center;font-weight: bold;">Application</p><br />
! Item !! Description<br />
|-<br />
| Arch Package || {{Pkg|{{{packagename|{{{1|{{META Error}}}}}}}}}}<br />
|-<br />
| Upstream Package || [{{{upstreamurl|{{{2|{{META Error}}}}}}}} {{{upstreamname|{{{3|{{META Error}}}}}}}}]<br />
|-<br />
| Description || {{{description|{{{4|{{META Error}}}}}}}}<br />
|-<br />
| Systemd Service || {{ic|{{{servicefile|{{{5|{{META Error}}}}}}}}}}<br />
|-<br />
| Config Path || {{ic|{{{configfile|{{{6|{{META Error}}}}}}}}}}<br />
|-<br />
| Config Examples || {{ic|{{{configexamples|{{{7|{{META Error}}}}}}}}}}<br />
|-<br />
| User and Group || {{{usergroup|{{{8|{{META Error}}}}}}}}<br />
|-<br />
| Man Page(s) || {{{manpage|{{{9|{{META Error}}}}}}}}<br />
|-<br />
| Upstream Documentation || [{{{updocurl|{{{10|{{META Error}}}}}}}} {{{updocname|{{{11|{{META Error}}}}}}}}]<br />
|-<br />
|}</includeonly><noinclude><br />
{{Comment|See [[Help talk:Template#New Template Application]].}}<br />
'''An 'application' info box used to display important package information succinctly.'''<br />
<br />
====Usage====<br />
<br />
<pre><nowiki>{{User:meskarune/Template:application<br />
| packagename=mariadb<br />
| upstreamurl=https://downloads.mariadb.org/<br />
| upstreamname=MariaDB Downloads<br />
| description=database server<br />
| servicefile=mariadb.service<br />
| configfile=/etc/mysql/my.cnf<br />
| configexamples=/usr/share/mysql/<br />
| usergroup=mysql:mysql<br />
| manpage={{man|1|mysql}} {{man|1|mysql|server}}<br />
| updocurl=https://mariadb.com/kb/en/mariadb/documentation/<br />
| updocname=mariadb.com<br />
}}</nowiki></pre><br />
<br />
====Example====<br />
<br />
The info box to the right is the above example code live.<br />
<br />
{{User:meskarune/Template:application<br />
| packagename=mariadb<br />
| upstreamurl=https://downloads.mariadb.org/<br />
| upstreamname=MariaDB Downloads<br />
| description=database server<br />
| servicefile=mariadb.service<br />
| configfile=/etc/mysql/my.cnf<br />
| configexamples=/usr/share/mysql/<br />
| usergroup=mysql:mysql|manpage=mysql<br />
| manpage={{man|1|mysql}} {{man|1|mysql|server}}<br />
| updocurl=https://mariadb.com/kb/en/mariadb/documentation/<br />
| updocname=mariadb.com<br />
}}<br />
<br />
</noinclude></div>Meskarunehttps://wiki.archlinux.org/index.php?title=User:Meskarune/Template:application&diff=533096User:Meskarune/Template:application2018-08-10T16:00:13Z<p>Meskarune: fixed manpage example code in documentation</p>
<hr />
<div><includeonly>{| class="wikitable" style="float:right;line-height:200%;width:25%;margin: 0 0 0.5em 0.5em;"<br />
|+ <p style="background: #333;color: white;padding: 0.2em;border-bottom: 5px #08c solid;margin: 0;text-align: center;font-weight: bold;">Application</p><br />
! Item !! Description<br />
|-<br />
| Arch Package || {{Pkg|{{{packagename|{{{1|{{META Error}}}}}}}}}}<br />
|-<br />
| Upstream Package || [{{{upstreamurl|{{{2|{{META Error}}}}}}}} {{{upstreamname|{{{3|{{META Error}}}}}}}}]<br />
|-<br />
| Description || {{{description|{{{4|{{META Error}}}}}}}}<br />
|-<br />
| Systemd Service || {{ic|{{{servicefile|{{{5|{{META Error}}}}}}}}}}<br />
|-<br />
| Config Path || {{ic|{{{configfile|{{{6|{{META Error}}}}}}}}}}<br />
|-<br />
| Config Examples || {{ic|{{{configexamples|{{{7|{{META Error}}}}}}}}}}<br />
|-<br />
| User and Group || {{{usergroup|{{{8|{{META Error}}}}}}}}<br />
|-<br />
| Man Page(s) || {{{manpage|{{{9|{{META Error}}}}}}}}<br />
|-<br />
| Upstream Documentation || [{{{updocurl|{{{10|{{META Error}}}}}}}} {{{updocname|{{{11|{{META Error}}}}}}}}]<br />
|-<br />
|}</includeonly><noinclude><br />
{{Comment|See [[Help talk:Template#New Template Application]].}}<br />
'''An 'application' info box used to display important package information succinctly.'''<br />
<br />
====Usage====<br />
<br />
<pre><nowiki>{{User:meskarune/Template:application<br />
| packagename=mariadb<br />
| upstreamurl=https://downloads.mariadb.org/<br />
| upstreamname=MariaDB Downloads<br />
| description=database server<br />
| servicefile=mariadb.service<br />
| configfile=/etc/mysql/my.cnf<br />
| configexamples=/usr/share/mysql/<br />
| usergroup=mysql:mysql<br />
| manpage={{man|1|mysql}}<br />
| updocurl=https://mariadb.com/kb/en/mariadb/documentation/<br />
| updocname=mariadb.com<br />
}}</nowiki></pre><br />
<br />
====Example====<br />
<br />
The info box to the right is the above example code live.<br />
<br />
{{User:meskarune/Template:application<br />
| packagename=mariadb<br />
| upstreamurl=https://downloads.mariadb.org/<br />
| upstreamname=MariaDB Downloads<br />
| description=database server<br />
| servicefile=mariadb.service<br />
| configfile=/etc/mysql/my.cnf<br />
| configexamples=/usr/share/mysql/<br />
| usergroup=mysql:mysql|manpage=mysql<br />
| manpage={{man|1|mysql}}<br />
| updocurl=https://mariadb.com/kb/en/mariadb/documentation/<br />
| updocname=mariadb.com<br />
}}<br />
<br />
</noinclude></div>Meskarunehttps://wiki.archlinux.org/index.php?title=User:Meskarune/Template:application&diff=533095User:Meskarune/Template:application2018-08-10T15:57:58Z<p>Meskarune: updated example text</p>
<hr />
<div><includeonly>{| class="wikitable" style="float:right;line-height:200%;width:25%;margin: 0 0 0.5em 0.5em;"<br />
|+ <p style="background: #333;color: white;padding: 0.2em;border-bottom: 5px #08c solid;margin: 0;text-align: center;font-weight: bold;">Application</p><br />
! Item !! Description<br />
|-<br />
| Arch Package || {{Pkg|{{{packagename|{{{1|{{META Error}}}}}}}}}}<br />
|-<br />
| Upstream Package || [{{{upstreamurl|{{{2|{{META Error}}}}}}}} {{{upstreamname|{{{3|{{META Error}}}}}}}}]<br />
|-<br />
| Description || {{{description|{{{4|{{META Error}}}}}}}}<br />
|-<br />
| Systemd Service || {{ic|{{{servicefile|{{{5|{{META Error}}}}}}}}}}<br />
|-<br />
| Config Path || {{ic|{{{configfile|{{{6|{{META Error}}}}}}}}}}<br />
|-<br />
| Config Examples || {{ic|{{{configexamples|{{{7|{{META Error}}}}}}}}}}<br />
|-<br />
| User and Group || {{{usergroup|{{{8|{{META Error}}}}}}}}<br />
|-<br />
| Man Page(s) || {{{manpage|{{{9|{{META Error}}}}}}}}<br />
|-<br />
| Upstream Documentation || [{{{updocurl|{{{10|{{META Error}}}}}}}} {{{updocname|{{{11|{{META Error}}}}}}}}]<br />
|-<br />
|}</includeonly><noinclude><br />
{{Comment|See [[Help talk:Template#New Template Application]].}}<br />
'''An 'application' info box used to display important package information succinctly.'''<br />
<br />
====Usage====<br />
<br />
<pre><nowiki>{{User:meskarune/Template:application<br />
| packagename=mariadb<br />
| upstreamurl=https://downloads.mariadb.org/<br />
| upstreamname=MariaDB Downloads<br />
| description=database server<br />
| servicefile=mariadb.service<br />
| configfile=/etc/mysql/my.cnf<br />
| configexamples=/usr/share/mysql/<br />
| usergroup=mysql:mysql|manpage=mysql<br />
| manpage={{man|1|mysql}}<br />
| updocurl=https://mariadb.com/kb/en/mariadb/documentation/<br />
| updocname=mariadb.com<br />
}}</nowiki></pre><br />
<br />
====Example====<br />
<br />
The info box to the right is the above example code live.<br />
<br />
{{User:meskarune/Template:application<br />
| packagename=mariadb<br />
| upstreamurl=https://downloads.mariadb.org/<br />
| upstreamname=MariaDB Downloads<br />
| description=database server<br />
| servicefile=mariadb.service<br />
| configfile=/etc/mysql/my.cnf<br />
| configexamples=/usr/share/mysql/<br />
| usergroup=mysql:mysql|manpage=mysql<br />
| manpage={{man|1|mysql}}<br />
| updocurl=https://mariadb.com/kb/en/mariadb/documentation/<br />
| updocname=mariadb.com<br />
}}<br />
<br />
</noinclude></div>Meskarunehttps://wiki.archlinux.org/index.php?title=User:Meskarune/Template:application&diff=533094User:Meskarune/Template:application2018-08-10T15:57:13Z<p>Meskarune: changed name parameter to have man template to test</p>
<hr />
<div><includeonly>{| class="wikitable" style="float:right;line-height:200%;width:25%;margin: 0 0 0.5em 0.5em;"<br />
|+ <p style="background: #333;color: white;padding: 0.2em;border-bottom: 5px #08c solid;margin: 0;text-align: center;font-weight: bold;">Application</p><br />
! Item !! Description<br />
|-<br />
| Arch Package || {{Pkg|{{{packagename|{{{1|{{META Error}}}}}}}}}}<br />
|-<br />
| Upstream Package || [{{{upstreamurl|{{{2|{{META Error}}}}}}}} {{{upstreamname|{{{3|{{META Error}}}}}}}}]<br />
|-<br />
| Description || {{{description|{{{4|{{META Error}}}}}}}}<br />
|-<br />
| Systemd Service || {{ic|{{{servicefile|{{{5|{{META Error}}}}}}}}}}<br />
|-<br />
| Config Path || {{ic|{{{configfile|{{{6|{{META Error}}}}}}}}}}<br />
|-<br />
| Config Examples || {{ic|{{{configexamples|{{{7|{{META Error}}}}}}}}}}<br />
|-<br />
| User and Group || {{{usergroup|{{{8|{{META Error}}}}}}}}<br />
|-<br />
| Man Page(s) || {{{manpage|{{{9|{{META Error}}}}}}}}<br />
|-<br />
| Upstream Documentation || [{{{updocurl|{{{10|{{META Error}}}}}}}} {{{updocname|{{{11|{{META Error}}}}}}}}]<br />
|-<br />
|}</includeonly><noinclude><br />
{{Comment|See [[Help talk:Template#New Template Application]].}}<br />
'''An 'application' info box used to display important package information succinctly.'''<br />
<br />
====Usage====<br />
<br />
<pre><nowiki>{{User:meskarune/Template:application<br />
| packagename=mariadb<br />
| upstreamurl=https://downloads.mariadb.org/<br />
| upstreamname=MariaDB Downloads<br />
| description=database server<br />
| servicefile=mariadb.service<br />
| configfile=/etc/mysql/my.cnf<br />
| configexamples=/usr/share/mysql/<br />
| usergroup=mysql:mysql|manpage=mysql<br />
| manpage=mysql<br />
| updocurl=https://mariadb.com/kb/en/mariadb/documentation/<br />
| updocname=mariadb.com<br />
}}</nowiki></pre><br />
<br />
====Example====<br />
<br />
The info box to the right is the above example code live.<br />
<br />
{{User:meskarune/Template:application<br />
| packagename=mariadb<br />
| upstreamurl=https://downloads.mariadb.org/<br />
| upstreamname=MariaDB Downloads<br />
| description=database server<br />
| servicefile=mariadb.service<br />
| configfile=/etc/mysql/my.cnf<br />
| configexamples=/usr/share/mysql/<br />
| usergroup=mysql:mysql|manpage=mysql<br />
| manpage={{man|1|mysql}}<br />
| updocurl=https://mariadb.com/kb/en/mariadb/documentation/<br />
| updocname=mariadb.com<br />
}}<br />
<br />
</noinclude></div>Meskarunehttps://wiki.archlinux.org/index.php?title=User_talk:Meskarune/Template:application&diff=533090User talk:Meskarune/Template:application2018-08-10T15:21:33Z<p>Meskarune: easier to read template is done</p>
<hr />
<div>= <s>Easier to read template code</s> =<br />
<br />
There are 11 named parameters for the template and if its possible to have each on its own line it would make it much easier for people to use. I need to look into if this is possible.<br />
<br />
edit: DONE[[User:Meskarune|Meskarune]] ([[User talk:Meskarune|talk]]) 15:21, 10 August 2018 (UTC)<br />
<br />
= Man page = <br />
<br />
Right now the man page is defaulting to man 1, but maybe I should just let people put the manpage template itself in as an option as some packages may have more than one?</div>Meskarunehttps://wiki.archlinux.org/index.php?title=User:Meskarune/package&diff=533024User:Meskarune/package2018-08-09T23:52:12Z<p>Meskarune: swtich to using application template</p>
<hr />
<div>[[Category:Applications]]<br />
{{User:meskarune/Template:application<br />
| packagename=mariadb<br />
| upstreamurl=https://downloads.mariadb.org/<br />
| upstreamname=MariaDB Downloads<br />
| description=database server<br />
| servicefile=mariadb.service<br />
| configfile=/etc/mysql/my.cnf<br />
| configexamples=/usr/share/mysql/<br />
| usergroup=mysql:mysql|manpage=mysql<br />
| manpage=mysql<br />
| updocurl=https://mariadb.com/kb/en/mariadb/documentation/<br />
| updocname=mariadb.com<br />
}}<br />
<br />
{{Related articles start}}<br />
{{Related|phpMyAdmin}}<br />
{{Related|Adminer}}<br />
{{Related articles end}}<br />
<br />
Introduction to a package, for example:<br />
<br />
MySQL is a widely spread, multi-threaded, multi-user SQL database. For more information about features, see the [http://www.mysql.com/ official homepage].<br />
<br />
== Installation ==<br />
<br />
The various supported ways to install the package on Arch Linux.<br />
<br />
[https://mariadb.org/ MariaDB] is the [https://www.archlinux.org/news/mariadb-replaces-mysql-in-repositories/ default implementation] of MySQL in Arch Linux, provided with the {{Pkg|mariadb}} package.<br />
<br />
== Configuration ==<br />
<br />
How to configure the software for Arch Linux. Pretend there are instructions and examples. yay.<br />
<br />
== Maintenance ==<br />
<br />
This section is of course optional as not all packages will need it. But information should go in here about things a user may have to do occasionally, such as cache clearing. what logs to rotate, etc.<br />
<br />
==== Updating ====<br />
<br />
Any special information the user needs to know about updating the package on Arch Linux. For example if a reboot is required or service needs to be restarted (like with kernel updates, you need to reboot for disk auto mounting to work). Possibly notes if there are major changes between versions. One example is conky which had a major change in configuration.<br />
<br />
==== Backups ==== <br />
<br />
Any special actions that need to be taken for backup creation, or what directories/files you should back up if the program has non-obvious things. config files in /etc/ is pretty obvious, but special stuff in /var might not be.<br />
<br />
== Known Issues ==<br />
<br />
Bugs or problems that do not currently have a fix. This helps avoid duplicate bug reports or people searching and trying variously solutions in vain.<br />
<br />
== Troubleshooting ==<br />
<br />
Common issues and how to fix them. Focus on Arch specific things. If it becomes too large, make it a separate sub page at <package page>/Troubleshooting. Link in related pages.<br />
<br />
== Tips and Tricks ==<br />
<br />
Some fancy stuff here about optimization, more efficient ways to do something, or make life with the app easier. Prefer Arch Linux specific stuff. If it becomes too large, make it a separate sub page at <package page>/Tips_and_Tricks. Link in related pages.<br />
<br />
== See Also ==<br />
<br />
* <external links to useful outside resources></div>Meskarunehttps://wiki.archlinux.org/index.php?title=User:Meskarune/Template:application&diff=533021User:Meskarune/Template:application2018-08-09T23:43:07Z<p>Meskarune: improved template readabililty and look</p>
<hr />
<div><includeonly>{| class="wikitable" style="float:right;line-height:200%;width:25%;margin: 0 0 0.5em 0.5em;"<br />
|+ <p style="background: #333;color: white;padding: 0.2em;border-bottom: 5px #08c solid;margin: 0;text-align: center;font-weight: bold;">Application</p><br />
! Item !! Description<br />
|-<br />
| Arch Package || {{Pkg|{{{packagename|{{{1|{{META Error}}}}}}}}}}<br />
|-<br />
| Upstream Package || [{{{upstreamurl|{{{2|{{META Error}}}}}}}} {{{upstreamname|{{{3|{{META Error}}}}}}}}]<br />
|-<br />
| Description || {{{description|{{{4|{{META Error}}}}}}}}<br />
|-<br />
| Systemd Service || {{ic|{{{servicefile|{{{5|{{META Error}}}}}}}}}}<br />
|-<br />
| Config Path || {{ic|{{{configfile|{{{6|{{META Error}}}}}}}}}}<br />
|-<br />
| Config Examples || {{ic|{{{configexamples|{{{7|{{META Error}}}}}}}}}}<br />
|-<br />
| User and Group || {{{usergroup|{{{8|{{META Error}}}}}}}}<br />
|-<br />
| Man Page(s) || {{man|1|{{{manpage|{{{9|{{META Error}}}}}}}}}}<br />
|-<br />
| Upstream Documentation || [{{{updocurl|{{{10|{{META Error}}}}}}}} {{{updocname|{{{11|{{META Error}}}}}}}}]<br />
|-<br />
|}</includeonly><noinclude><br />
{{Template}}<br />
'''An 'application' info box used to display important package information succinctly.'''<br />
<br />
====Usage====<br />
<br />
<pre><nowiki>{{User:meskarune/Template:application<br />
| packagename=mariadb<br />
| upstreamurl=https://downloads.mariadb.org/<br />
| upstreamname=MariaDB Downloads<br />
| description=database server<br />
| servicefile=mariadb.service<br />
| configfile=/etc/mysql/my.cnf<br />
| configexamples=/usr/share/mysql/<br />
| usergroup=mysql:mysql|manpage=mysql<br />
| manpage=mysql<br />
| updocurl=https://mariadb.com/kb/en/mariadb/documentation/<br />
| updocname=mariadb.com<br />
}}</nowiki></pre><br />
<br />
====Example====<br />
<br />
The info box to the right is the above example code live.<br />
<br />
{{User:meskarune/Template:application<br />
| packagename=mariadb<br />
| upstreamurl=https://downloads.mariadb.org/<br />
| upstreamname=MariaDB Downloads<br />
| description=database server<br />
| servicefile=mariadb.service<br />
| configfile=/etc/mysql/my.cnf<br />
| configexamples=/usr/share/mysql/<br />
| usergroup=mysql:mysql|manpage=mysql<br />
| manpage=mysql<br />
| updocurl=https://mariadb.com/kb/en/mariadb/documentation/<br />
| updocname=mariadb.com<br />
}}<br />
<br />
</noinclude></div>Meskarunehttps://wiki.archlinux.org/index.php?title=User:Meskarune/Template:application&diff=533016User:Meskarune/Template:application2018-08-09T23:38:22Z<p>Meskarune: put manpage on new lien</p>
<hr />
<div><includeonly>{| class="wikitable" style="float:right;line-height:200%;width:25%;margin: 0 0 0.5em 0.5em;"<br />
|+ <p style="background: #333;color: white;padding: 0.2em;border-bottom: 5px #08c solid;margin: 0;text-align: center;font-weight: bold;">Application</p><br />
! Item !! Description<br />
|-<br />
| Arch Package || {{Pkg|{{{packagename|{{{1|{{META Error}}}}}}}}}}<br />
|-<br />
| Upstream Package || [{{{upstreamurl|{{{2|{{META Error}}}}}}}} {{{upstreamname|{{{3|{{META Error}}}}}}}}]<br />
|-<br />
| Description || {{{description|{{{4|{{META Error}}}}}}}}<br />
|-<br />
| Systemd Service || {{ic|{{{servicefile|{{{5|{{META Error}}}}}}}}}}<br />
|-<br />
| Config Path || {{ic|{{{configfile|{{{6|{{META Error}}}}}}}}}}<br />
|-<br />
| Config Examples || {{ic|{{{configexamples|{{{7|{{META Error}}}}}}}}}}<br />
|-<br />
| User and Group || {{{usergroup|{{{8|{{META Error}}}}}}}}<br />
|-<br />
| Man Page(s) || {{man|1|{{{manpage|{{{9|{{META Error}}}}}}}}}}<br />
|-<br />
| Upstream Documentation || [{{{updocurl|{{{10|{{META Error}}}}}}}} {{{updocname|{{{11|{{META Error}}}}}}}}]<br />
|-<br />
|}</includeonly><noinclude><br />
{{Template}}<br />
'''An 'application' info box used to display important package information succinctly.'''<br />
<br />
====Usage====<br />
<br />
<pre><nowiki>{{User:meskarune/Template:application |<br />
packagename=mariadb |<br />
upstreamurl=https://downloads.mariadb.org/ |<br />
upstreamname=MariaDB Downloads |<br />
description=database server |<br />
servicefile=mariadb.service |<br />
configfile=/etc/mysql/my.cnf |<br />
configexamples=/usr/share/mysql/ |<br />
usergroup=mysql:mysql |<br />
manpage=mysql |<br />
updocurl=https://mariadb.com/kb/en/mariadb/documentation/ |<br />
updocname=mariadb.com<br />
}}</nowiki></pre><br />
<br />
====Example====<br />
<br />
The info box to the right is the above example code live.<br />
<br />
{{User:meskarune/Template:application |<br />
packagename=mariadb |<br />
upstreamurl=https://downloads.mariadb.org/ |<br />
upstreamname=MariaDB Downloads |<br />
description=database server |<br />
servicefile=mariadb.service |<br />
configfile=/etc/mysql/my.cnf |<br />
configexamples=/usr/share/mysql/ |<br />
usergroup=mysql:mysql|manpage=mysql |<br />
manpage=mysql |<br />
updocurl=https://mariadb.com/kb/en/mariadb/documentation/ |<br />
updocname=mariadb.com<br />
}}<br />
<br />
</noinclude></div>Meskarunehttps://wiki.archlinux.org/index.php?title=User:Meskarune/Template:application&diff=533015User:Meskarune/Template:application2018-08-09T23:37:07Z<p>Meskarune: added new lines between named parameters</p>
<hr />
<div><includeonly>{| class="wikitable" style="float:right;line-height:200%;width:25%;margin: 0 0 0.5em 0.5em;"<br />
|+ <p style="background: #333;color: white;padding: 0.2em;border-bottom: 5px #08c solid;margin: 0;text-align: center;font-weight: bold;">Application</p><br />
! Item !! Description<br />
|-<br />
| Arch Package || {{Pkg|{{{packagename|{{{1|{{META Error}}}}}}}}}}<br />
|-<br />
| Upstream Package || [{{{upstreamurl|{{{2|{{META Error}}}}}}}} {{{upstreamname|{{{3|{{META Error}}}}}}}}]<br />
|-<br />
| Description || {{{description|{{{4|{{META Error}}}}}}}}<br />
|-<br />
| Systemd Service || {{ic|{{{servicefile|{{{5|{{META Error}}}}}}}}}}<br />
|-<br />
| Config Path || {{ic|{{{configfile|{{{6|{{META Error}}}}}}}}}}<br />
|-<br />
| Config Examples || {{ic|{{{configexamples|{{{7|{{META Error}}}}}}}}}}<br />
|-<br />
| User and Group || {{{usergroup|{{{8|{{META Error}}}}}}}}<br />
|-<br />
| Man Page(s) || {{man|1|{{{manpage|{{{9|{{META Error}}}}}}}}}}<br />
|-<br />
| Upstream Documentation || [{{{updocurl|{{{10|{{META Error}}}}}}}} {{{updocname|{{{11|{{META Error}}}}}}}}]<br />
|-<br />
|}</includeonly><noinclude><br />
{{Template}}<br />
'''An 'application' info box used to display important package information succinctly.'''<br />
<br />
====Usage====<br />
<br />
<pre><nowiki>{{User:meskarune/Template:application |<br />
packagename=mariadb |<br />
upstreamurl=https://downloads.mariadb.org/ |<br />
upstreamname=MariaDB Downloads |<br />
description=database server |<br />
servicefile=mariadb.service |<br />
configfile=/etc/mysql/my.cnf |<br />
configexamples=/usr/share/mysql/ |<br />
usergroup=mysql:mysql|manpage=mysql |<br />
updocurl=https://mariadb.com/kb/en/mariadb/documentation/ |<br />
updocname=mariadb.com<br />
}}</nowiki></pre><br />
<br />
====Example====<br />
<br />
The info box to the right is the above example code live.<br />
<br />
{{User:meskarune/Template:application |<br />
packagename=mariadb |<br />
upstreamurl=https://downloads.mariadb.org/ |<br />
upstreamname=MariaDB Downloads |<br />
description=database server |<br />
servicefile=mariadb.service |<br />
configfile=/etc/mysql/my.cnf |<br />
configexamples=/usr/share/mysql/ |<br />
usergroup=mysql:mysql|manpage=mysql |<br />
manpage=mysql |<br />
updocurl=https://mariadb.com/kb/en/mariadb/documentation/ |<br />
updocname=mariadb.com<br />
}}<br />
<br />
</noinclude></div>Meskarunehttps://wiki.archlinux.org/index.php?title=User:Meskarune/Template:application&diff=533013User:Meskarune/Template:application2018-08-09T23:30:53Z<p>Meskarune: testing new lines in the template example</p>
<hr />
<div><includeonly>{| class="wikitable" style="float:right;line-height:200%;width:25%;margin: 0 0 0.5em 0.5em;"<br />
|+ <p style="background: #333;color: white;padding: 0.2em;border-bottom: 5px #08c solid;margin: 0;text-align: center;font-weight: bold;">Application</p><br />
! Item !! Description<br />
|-<br />
| Arch Package || {{Pkg|{{{packagename|{{{1|{{META Error}}}}}}}}}}<br />
|-<br />
| Upstream Package || [{{{upstreamurl|{{{2|{{META Error}}}}}}}} {{{upstreamname|{{{3|{{META Error}}}}}}}}]<br />
|-<br />
| Description || {{{description|{{{4|{{META Error}}}}}}}}<br />
|-<br />
| Systemd Service || {{ic|{{{servicefile|{{{5|{{META Error}}}}}}}}}}<br />
|-<br />
| Config Path || {{ic|{{{configfile|{{{6|{{META Error}}}}}}}}}}<br />
|-<br />
| Config Examples || {{ic|{{{configexamples|{{{7|{{META Error}}}}}}}}}}<br />
|-<br />
| User and Group || {{{usergroup|{{{8|{{META Error}}}}}}}}<br />
|-<br />
| Man Page(s) || {{man|1|{{{manpage|{{{9|{{META Error}}}}}}}}}}<br />
|-<br />
| Upstream Documentation || [{{{updocurl|{{{10|{{META Error}}}}}}}} {{{updocname|{{{11|{{META Error}}}}}}}}]<br />
|-<br />
|}</includeonly><noinclude><br />
{{Template}}<br />
'''An 'application' info box used to display important package information succinctly.'''<br />
<br />
====Usage====<br />
<br />
{{ic|<nowiki>{{User:meskarune/Template:application|packagename=mariadb|upstreamurl=https://downloads.mariadb.org/|upstreamname=MariaDB Downloads|description=database server|servicefile=mariadb.service|configfile=/etc/mysql/my.cnf|configexamples=/usr/share/mysql/|usergroup=mysql:mysql|manpage=mysql|updocurl=https://mariadb.com/kb/en/mariadb/documentation/|updocname=mariadb.com}}</nowiki>}}<br />
<br />
====Example====<br />
<br />
The info box to the right is the above example code live.<br />
<br />
{{User:meskarune/Template:application|<br />
packagename=mariadb|<br />
upstreamurl=https://downloads.mariadb.org/|<br />
upstreamname=MariaDB Downloads|<br />
description=database server|<br />
servicefile=mariadb.service|<br />
configfile=/etc/mysql/my.cnf|<br />
configexamples=/usr/share/mysql/|<br />
usergroup=mysql:mysql|manpage=mysql|<br />
manpage=mysql|<br />
updocurl=https://mariadb.com/kb/en/mariadb/documentation/|<br />
updocname=mariadb.com<br />
}}<br />
<br />
</noinclude></div>Meskarune