https://wiki.archlinux.org/api.php?action=feedcontributions&user=Shimmy1996&feedformat=atomArchWiki - User contributions [en]2024-03-29T06:42:20ZUser contributionsMediaWiki 1.41.0https://wiki.archlinux.org/index.php?title=Mastodon&diff=583582Mastodon2019-09-22T03:01:11Z<p>Shimmy1996: Update to use new documentation site</p>
<hr />
<div>[[Category:Web applications]]<br />
[[es:Mastodon]]<br />
[[ja:Mastodon]]<br />
{{Related articles start}}<br />
{{Related|Diaspora}}<br />
{{Related|Rbenv}}<br />
{{Related|Ruby}}<br />
{{Related articles end}}<br />
<br />
[https://mastodon.social/ Mastodon] is a free, open-source social network, written in Ruby. A decentralized alternative to commercial platforms, it avoids the risks of a single company monopolizing your communication. Pick a server that you trust — whichever you choose, you can interact with everyone else. Anyone can run their own Mastodon instance and participate in the social network seamlessly. <br />
<br />
== Install ==<br />
<br />
{{Expansion|1=[https://aur.archlinux.org/packages/?O=0&SeB=nd&K=mastodon&outdated=&SB=n&SO=a&PP=50&do_Search=Go Mastodon] packages in the AUR are being worked on.}}<br />
<br />
=== Prerequisites ===<br />
<br />
Add new user {{ic|mastodon}}<br />
<br />
Check [https://github.com/rbenv/ruby-build/wiki#suggested-build-environment build environment] and then the [https://docs.joinmastodon.org/administration/installation/ Official Install guide] and prepare your setup by following:<br />
<br />
* https://github.com/rbenv/rbenv#installation<br />
* https://github.com/rbenv/ruby-build#installation</div>Shimmy1996https://wiki.archlinux.org/index.php?title=Backlight&diff=563809Backlight2019-01-18T18:57:23Z<p>Shimmy1996: acpilight is in community now</p>
<hr />
<div>[[Category:Laptops]]<br />
[[Category:Power management]]<br />
[[ru:Backlight]]<br />
[[ja:バックライト]]<br />
Screen brightness might be tricky to control. On some machines physical hardware switches are missing and software solutions may not work well. However, it is generally possible to find a functional method for a given hardware. This article aims to summarize all possible ways to adjust the backlight.<br />
<br />
== Overview ==<br />
<br />
There are many ways to control brightness of a monitor, laptop or integrated panel (such as the iMac). According to this [https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/397617 discussion] and this [https://wiki.ubuntu.com/Kernel/Debugging/Backlight wiki page] the control method can be divided into these categories:<br />
<br />
* brightness is controlled by vendor-specified hotkey and there is no interface for the OS to adjust the brightness.<br />
* brightness is controlled by either the ACPI or the graphic driver.<br />
* brightness is controlled by HW register through setpci.<br />
<br />
All methods are exposed to the user through {{ic|/sys/class/backlight}} and xrandr/xbacklight can choose one method to control brightness. It is still not very clear which one xbacklight prefers by default.<br />
<br />
== ACPI ==<br />
<br />
The brightness of the screen backlight is adjusted by setting the power level of the backlight LEDs or cathodes. The power level can often be controlled using the ACPI kernel module for video. An interface to this module is provided via a sysfs directory at {{ic|/sys/class/backlight/}}.<br />
<br />
The name of the folder depends on the graphics card model.<br />
<br />
{{hc|$ ls /sys/class/backlight/|<br />
acpi_video0<br />
}}<br />
<br />
In this case, the backlight is managed by an ATI graphics card. In the case of an Intel card it is called {{ic|intel_backlight}}. In the following example, {{ic|acpi_video0}} is used.<br />
<br />
The directory contains the following files and folders:<br />
<br />
{{hc|$ ls /sys/class/backlight/acpi_video0/|<br />
actual_brightness brightness max_brightness subsystem/ uevent <br />
bl_power device/ power/ type<br />
}}<br />
<br />
The maximum brightness can be found by reading from {{ic|max_brightness}}, which is often 15.<br />
<br />
{{hc|$ cat /sys/class/backlight/acpi_video0/max_brightness|<br />
15<br />
}}<br />
<br />
The brightness can be set by writing a number to {{ic|brightness}}. Attempting to set a brightness greater than the maximum results in an error.<br />
<br />
# echo 5 > /sys/class/backlight/acpi_video0/brightness<br />
<br />
By default, only {{ic|root}} can change the brightness by this method. To allow users in the {{ic|video}} group to change the brightness, a [[udev]] rule such as the following can be used:<br />
<br />
{{hc|/etc/udev/rules.d/backlight.rules|<nowiki><br />
ACTION=="add", SUBSYSTEM=="backlight", KERNEL=="acpi_video0", RUN+="/bin/chgrp video /sys/class/backlight/%k/brightness"<br />
ACTION=="add", SUBSYSTEM=="backlight", KERNEL=="acpi_video0", RUN+="/bin/chmod g+w /sys/class/backlight/%k/brightness"<br />
</nowiki>}}<br />
<br />
=== Kernel command-line options ===<br />
<br />
Sometimes, ACPI does not work well due to different motherboard implementations and ACPI quirks, resulting in, for instance, inaccurate brightness notifications. This includes some laptops with dual graphics (e.g. Nvidia/Radeon dedicated GPU with Intel/AMD integrated GPU). Additionally, ACPI sometimes needs to register its own {{ic|acpi_video0}} backlight even if one already exists (such as {{ic|intel_backlight}}), which can be done by adding one of the following [[kernel parameters]]:<br />
<br />
acpi_backlight=video<br />
acpi_backlight=vendor<br />
acpi_backlight=native<br />
<br />
If you find that changing the {{ic|acpi_video0}} backlight does not actually change the brightness, you may need to use {{ic|1=acpi_backlight=none}}.<br />
<br />
{{Tip|<br />
* On Nvidia Optimus laptops, the kernel parameter {{ic|nomodeset}} can interfere with the ability to adjust the backlight.<br />
* On an Asus notebooks you might also need to load the {{ic|asus-nb-wmi}} [[kernel module]].<br />
* Disabling legacy boot on Dell XPS13 breaks backlight support.<br />
}}<br />
<br />
=== Udev rule ===<br />
<br />
If the ACPI interface is available, the backlight level can be set at boot using a [[udev]] rule:<br />
<br />
{{hc|/etc/udev/rules.d/81-backlight.rules|<nowiki><br />
# Set backlight level to 8<br />
SUBSYSTEM=="backlight", ACTION=="add", KERNEL=="acpi_video0", ATTR{brightness}="8"</nowiki>}}<br />
<br />
{{Note|The systemd-backlight service restores the previous backlight brightness level at boot. To prevent conflicts for the above rules, see [[#systemd-backlight service]].}}<br />
<br />
{{Tip|To set the backlight depending on power state, see [[Power management#Using a script and an udev rule]] and use your favourite [[#Backlight utilities|backlight utility]] in the script.}}<br />
<br />
== Switch off the backlight ==<br />
<br />
Switching off the backlight (for example when one locks a notebook) can be useful to conserve battery energy. Ideally the following command should work for any [[Xorg]] graphical session:<br />
<br />
xset dpms force off<br />
<br />
The backlight should switch on again on mouse movement or keyboard input. Alternately {{ic|xset s}} could be used.<br />
<br />
The following example will toggle the screen saver timeout for a similar result (should be bound to a key):<br />
<br />
{{hc|~/.local/bin/xlcd.sh|<br />
#!/usr/bin/dash<br />
read lcd < /tmp/lcd<br />
if [ "$lcd" -eq "0" ]; then<br />
xset s<br />
echo 1 > /tmp/lcd<br />
sleep 1<br />
notify-send -t 2000 LCD\ ON<br />
else<br />
xset s 3<br />
echo 0 > /tmp/lcd<br />
notify-send -t 2000 LCD\ OFF<br />
fi<br />
}}<br />
<br />
If the previous commands do not work, there is a chance that ''vbetool'' may work. Note, however, that in this case the backlight must be manually activated again. The command is as follows:<br />
<br />
$ vbetool dpms off<br />
<br />
To activate the backlight again:<br />
<br />
$ vbetool dpms on<br />
<br />
For example, this can be put to use when closing the notebook lid using [[Acpid]].<br />
<br />
== systemd-backlight service ==<br />
<br />
The [[systemd]] package includes the service {{ic|systemd-backlight@.service}}, which is enabled by default and "static". It saves the backlight brightness level at shutdown and restores it at boot. The service uses the ACPI method described in [[#ACPI]], generating services for each folder found in {{ic|/sys/class/backlight/}}. For example, if there is a folder named {{ic|acpi_video0}}, it generates a service called {{ic|systemd-backlight@backlight:acpi_video0.service}}. When using other methods of setting the backlight at boot, it is recommended to stop systemd-backlight from restoring the backlight by setting the [[kernel parameters]] parameter {{ic|1=systemd.restore_state=0}}. See {{man|8|systemd-backlight@.service}} for details.<br />
<br />
{{Note|Some laptops have multiple video cards (e.g. Optimus) and the backlight restoration fails. Try [[systemd#Using units|masking]] an instance of the service (e.g. {{ic|systemd-backlight@backlight:acpi_video1}} for {{ic|acpi_video1}}).}}<br />
<br />
== Backlight utilities ==<br />
<br />
* {{App|acpilight|"xbacklight" compatible utility that uses the sys filesystem to set the display brightness. Since it doesn't use X at all, it can also be used on the console and Wayland and has no problems with KMS drivers. Furthermore, on ThinkPad laptops, the keyboard backlight can also be controlled.|https://gitlab.com/wavexx/acpilight/|{{Pkg|acpilight}}}}<br />
* {{App|brightd|Macbook-inspired brightd automatically dims (but does not put to standby) the screen when there is no user input for some time. A good companion of [[Display Power Management Signaling]] so that the screen does not blank out in a sudden.|http://www.pberndt.com/Programme/Linux/brightd/|{{AUR|brightd}}}}<br />
* {{App|brillo|Minimal, secure, self-contained program to control brightness and keyboard brightness. Supports smooth adjustments and is Wayland compatible.|https://gitlab.com/cameronnemo/brillo|{{AUR|brillo}}}}<br />
* {{App|brightnessctl|Lightweight brightness control tool (Wayland compatible). Note that brightnessctl is a setuid binary, which might be considered a security risk by some.|https://github.com/Hummer12007/brightnessctl|{{AUR|brightnessctl}}}}<br />
* {{App|Calise|Calculates ambient brightness and sets screen’s correct backlight using a camera.|http://calise.sourceforge.net/|{{AUR|calise}}}}<br />
* {{App|Clight|User daemon utility that aims to fully manage your display. It will automagically change screen backlight level to match ambient brightness, as computed by capturing frames from webcam, even on external monitors. Moreover, it can manage your screen temperature, just like redshift does. Finally, it can dim your screen after a timeout.|https://github.com/FedeDP/Clight|{{AUR|clight-git}}}}<br />
* {{App|enlighten|Very small C utility to control the backlight brightness in Linux.|https://github.com/HalosGhost/enlighten|{{AUR|enlighten-git}}}}<br />
* {{App|illum|Backlight manager, which changes the screen backlight level based on keypresses (brightness up and brightness down). Written for newer BIOS/UEFI that does not automatically handle those buttons. This is an alternate to handling those buttons via acpi handlers or via x11/wm hotkeys.|https://github.com/jmesmon/illum|{{AUR|illum-git}}}}<br />
* {{App|Light|Program to control lights, leds and backlights. Works reliably by directly accessing sysfs, and not depending on X. Provides many features, such as saving/restoring brightness, limiting minimum brightness, etc. Designed to be bound to hotkeys or integrated into other applications.|https://haikarainen.github.io/light/|{{Pkg|light}}, {{AUR|light-git}}}}<br />
* {{App|Lux|Shell script to easily control brightness on backlight-controllers.|https://github.com/Ventto/lux|{{AUR|lux}}}}<br />
* {{App|relight|The package provides {{ic|relight.service}}, a [[systemd]] service to automatically restore previous backlight settings during reboot along using the ACPI method explained above, and ''relight-menu'', a dialog-based menu for selecting and configuring backlights for different screens.|http://xyne.archlinux.ca/projects/relight|{{AUR|relight}}}}<br />
* {{App|xbacklight|RandR-based backlight control application.|https://xorg.freedesktop.org/|{{Pkg|xorg-xbacklight}}}}<br />
<br />
=== xbacklight ===<br />
<br />
Brightness can be set using the {{Pkg|xorg-xbacklight}} package.<br />
<br />
{{Note|1=<nowiki></nowiki><br />
* xbacklight only works with [[Intel]]. [[Radeon]] does not support the RandR backlight property.<br />
* xbacklight currently does not work with the modesetting driver [https://gitlab.freedesktop.org/xorg/xserver/issues/47].<br />
}}<br />
<br />
To set brightness to 50% of maximum:<br />
<br />
$ xbacklight -set 50<br />
<br />
Increments can be used instead of absolute values, for example to increase or decrease brightness by 10%:<br />
<br />
$ xbacklight -inc 10<br />
$ xbacklight -dec 10<br />
<br />
Gamma can be set using either the {{Pkg|xorg-xrandr}} or {{Pkg|xorg-xgamma}} package. The following commands create the same effect:<br />
<br />
$ xrandr --output LVDS1 --gamma 1.0:1.0:1.0<br />
$ xgamma -rgamma 1 -ggamma 1 -bgamma 1<br />
<br />
{{Tip|These commands can be bound to keyboard keys as described in [[Keyboard shortcuts#Xorg]].}}<br />
<br />
If you get the "No outputs have backlight property" error, it is because xrandr/xbacklight does not choose the right directory in {{ic|/sys/class/backlight}}. You can specify the directory by setting the {{ic|Backlight}} option of the device section in {{ic|/etc/X11/xorg.conf.d/20-''video''.conf}}. For instance, if the name of the directory is {{ic|intel_backlight}} and using the [[Intel]] driver, the device section may be configured as follows:<br />
<br />
{{hc|/etc/X11/xorg.conf.d/20-intel.conf|<br />
Section "Device"<br />
Identifier "Intel Graphics" <br />
Driver "intel"<br />
Option "Backlight" "intel_backlight"<br />
EndSection}}<br />
<br />
See {{Bug|27677}} and https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=651741 for details.<br />
<br />
=== setpci ===<br />
<br />
It is possible to set the register of the graphic card to adjust the backlight. It means you adjust the backlight by manipulating the hardware directly, which can be risky and generally is not a good idea. Not all of the graphic cards support this method.<br />
<br />
When using this method, you need to use {{ic|lspci}} first to find out where your graphic card is.<br />
# setpci -s 00:02.0 F4.B=0<br />
<br />
=== Using DBus with Gnome ===<br />
<br />
Brightness can also be adjusted as the gnome controls do. Changes are reflected in the gnome UI using this method.<br />
gdbus call --session --dest org.gnome.SettingsDaemon.Power --object-path /org/gnome/SettingsDaemon/Power --method org.freedesktop.DBus.Properties.Set org.gnome.SettingsDaemon.Power.Screen Brightness "<int32 50>"<br />
<br />
Steps in brightness for keyboard contol can be implemented with this method as well.<br />
gdbus call --session --dest org.gnome.SettingsDaemon.Power --object-path /org/gnome/SettingsDaemon/Power --method org.gnome.SettingsDaemon.Power.Screen.StepUp<br />
gdbus call --session --dest org.gnome.SettingsDaemon.Power --object-path /org/gnome/SettingsDaemon/Power --method org.gnome.SettingsDaemon.Power.Screen.StepDown<br />
<br />
== Color correction ==<br />
<br />
* {{App|Clight|User daemon utility that aims to fully manage your display. It can manage the screen temperature depending on the current time of the day, just like redshift does. It tries to use {{pkg|geoclue2}} to retrieve the user position if neither latitude or longitude are set in the configuration file. It also supports fixed times for sunrise and sunset.|https://github.com/FedeDP/Clight|{{AUR|clight-git}}}}<br />
* {{App|Monica|Monitor calibration tool. It works as frontend to xgamma to alter the gamma correction.|https://web.archive.org/web/20090815224839/http://www.pcbypaul.com/software/monica.html|{{Pkg|monica}}}}<br />
* {{App|[[Redshift]]|Color temperature adjustment tool. It adjusts the color temperature of your screen according to your surroundings. This may help your eyes hurt less if you are working in front of the screen at night. This program is inspired by [[Wikipedia:f.lux|f.lux]].|http://jonls.dk/redshift/|{{Pkg|redshift}}}}<br />
* {{App|xcalib|Lightweight monitor calibration loader which can load an ICC monitor profile to be shared across desktop applications.|https://github.com/OpenICC/xcalib|{{AUR|xcalib}}}}<br />
* {{App|xgamma|Alter a monitor's gamma correction.|https://xorg.freedesktop.org/|{{Pkg|xorg-xgamma}}}}<br />
<br />
=== xcalib ===<br />
<br />
{{Note|''xcalib'' does ''not'' change the backlight power, it just modifies the video LUT table: this means that your battery life will be unaffected by the change. Nevertheless, it could be useful when no backlight control is available (Desktop PCs). Use {{ic|xcalib -clear}} to reset the LUT.}}<br />
<br />
The package {{AUR|xcalib}} ([http://xcalib.sourceforge.net/ upstream URL]) is available in the [[AUR]] and can be used to dim the screen. A demonstration video is available on [https://www.youtube.com/watch?v=A9xsvntT6i4 YouTube]. This program can correct gamma, invert colors, and reduce contrast, the latter of which we use in this case. For example, to dim down:<br />
<br />
$ xcalib -co 40 -a<br />
<br />
This program uses ICC technology to interact with X11 and while the screen is dimmed, you may find that the mouse cursor is just as bright as before.<br />
<br />
=== NVIDIA settings ===<br />
<br />
Users of [[NVIDIA|NVIDIA's proprietary drivers]] users can change display brightness via the nvidia-settings utility under "X Server Color Correction." However, note that this has absolutely nothing to do with backlight (intensity), it merely adjusts the color output. (Reducing brightness this way is a power-inefficient last resort when all other options fail; increasing brightness spoils your color output completely, in a way similar to overexposed photos.)<br />
<br />
=== Increase brightness above maximum level ===<br />
<br />
You can use [[xrandr]] to increase brightness above its maximum level:<br />
<br />
$ xrandr --output ''output_name'' --brightness 2<br />
<br />
This will set the brightness level to 200%. It will cause higher power usage and sacrifice color quality for brightness, nevertheless it is particularly suited for situations where the ambient light is very bright (e.g. sunlight).<br />
<br />
== External monitors ==<br />
<br />
DDC/CI (Display Data Channel Command Interface) can be used to communicate with external monitors implementing MCCS (Monitor Control Command Set) over I2C. DDC can control brightness, contrast, inputs, etc on supported monitors. Settings available via the OSD (On-Screen Display) panel can usually also be managed via DDC. The [[kernel module]] {{ic|i2c-dev}} may need to be loaded if the {{ic|/dev/i2c-*}} devices do not exist.<br />
<br />
[http://www.ddcutil.com/ ddcutil] can be used to query and set brightness settings:<br />
<br />
{{hc|# ddcutil capabilities {{!}} grep "Feature: 10"|<br />
Feature: 10 (Brightness)<br />
}}<br />
<br />
{{hc|1=# ddcutil getvcp 10|2=<br />
VCP code 0x10 (Brightness ): current value = 60, max value = 100<br />
}}<br />
<br />
# ddcutil setvcp 10 70<br />
<br />
Alternatively, one may use {{AUR|ddcci-driver-linux-dkms}} to expose external monitors in sysfs. Then, after loading the {{ic|ddcci}} [[kernel module]], one can use any [[#Backlight utilities|backlight utility]].<br />
<br />
== Troubleshooting ==<br />
<br />
=== Backlight PWM modulation frequency (Intel i915 only) ===<br />
<br />
Laptops with LED backlight are known to have screen flicker sometimes. This is because the most efficient way of controlling LED backlight brightness is by turning the LED's on and off very quickly varying the amount of time they are on. <br />
<br />
However, the frequency of the switching, so-called PWM (pulse-width modulation) frequency, may not be high enough for the eye to perceive it as a single brightness and instead see flickering. This causes some people to have symptoms such as headaches and eyestrain.<br />
<br />
If you have an Intel i915 GPU, then it may be possible to adjust PWM frequency to eliminate flicker.<br />
<br />
Period of PWM (inverse to frequency) is stored in 2 higher bytes of {{ic|0xC8254}} register (if you are using the Intel GM45 chipset use address {{ic|0x61254}} instead). To manipulate registers values install {{Pkg|intel-gpu-tools}} from the official repositories.<br />
<br />
To increase the frequency, period must be reduced. For example:<br />
<br />
{{hc|# intel_reg read 0xC8254|<br />
0xC8254 : 0x12281228|<br />
}}<br />
<br />
Then to double PWM frequency divide 2 higher bytes (4 higher hex digits) by 2 and write back resulting value, keeping lower bytes unchanged:<br />
<br />
# intel_reg write 0xC8254 0x09141228<br />
<br />
You can use online calculator to calculate desired value http://devbraindom.blogspot.com/2013/03/eliminate-led-screen-flicker-with-intel.html<br />
<br />
To set new frequency automatically, consider writing an udev rule or install {{AUR|intelpwm-udev}}.<br />
<br />
=== Inverted Brightness (Intel i915 only) ===<br />
<br />
Symptoms:<br />
* after installing {{ic|xf86-video-intel}} systemd-backlight.service turns off the backlight during boot<br />
** possible solution: mask systemd-backlight.service<br />
* switching from X to another VT turns the backlight off<br />
* the brightness keys are inverted (i.e. turning up the brightness makes the screen darker)<br />
<br />
This problem may be solved by adding {{ic|i915.invert_brightness&#61;1}} to the list of [[kernel parameters]].<br />
<br />
=== Unable to control eDP Panel brightness (Intel i915 only) ===<br />
<br />
Embedded Display Port (eDP) v1.2 introduced a new display panel control protocol for backlight and other controls that works through the AUX channel.[https://www.vesa.org/wp-content/uploads/2010/12/DisplayPort-DevCon-Presentation-eDP-Dec-2010-v3.pdf]<br />
<br />
By default the i915 driver tries to use PWM to control backlight brightness, which might not work.<br />
<br />
To set the backlight through writes to DPCD registers using the AUX channel set {{ic|1=i915.enable_dpcd_backlight}} as [[kernel parameter]] or set in {{ic|/etc/modprobe.d/i915.conf}}:<br />
<br />
{{hc|/etc/modprobe.d/i915.conf|<nowiki><br />
options i915 enable_dpcd_backlight<br />
</nowiki>}}<br />
<br />
=== sysfs modified but no brightness change ===<br />
<br />
{{Note|This behavior and their workarounds have been confirmed on the Dell M6700 with Nvidia K5000m (BIOS version prior to A10) and Clevo P750ZM (Eurocom P5 Pro Extreme) with Nvidia 980m.}}<br />
<br />
On some systems, the brightness hotkeys on your keyboard correctly modify the values of the acpi interface in {{ic|/sys/class/backlight/acpi_video0/actual_brightness}} but the brightness of the screen is not changed. Brightness applets from [[desktop environments]] may also show changes to no effect.<br />
<br />
If you have tested the recommended kernel parameters and only {{ic|xbacklight}} works, then you may be facing an incompatibility between your BIOS and kernel driver.<br />
<br />
In this case the only solution is to wait for a fix either from the BIOS or GPU driver manufacturer.<br />
<br />
A workaround is to use the inotify kernel api to trigger {{ic|xbacklight}} each time the value of {{ic|/sys/class/backlight/acpi_video0/actual_brightness}} changes.<br />
<br />
First [[install]] {{Pkg|inotify-tools}}. Then create a script around inotify that will be launched upon each boot or through [[autostart]].<br />
<br />
{{hc|/usr/local/bin/xbacklightmon|<nowiki><br />
#!/bin/sh<br />
<br />
path=/sys/class/backlight/acpi_video0<br />
<br />
luminance() {<br />
read -r level < "$path"/actual_brightness<br />
factor=$((100 / max))<br />
printf '%d\n' "$((level * factor))"<br />
}<br />
<br />
read -r max < "$path"/max_brightness<br />
<br />
xbacklight -set "$(luminance)"<br />
<br />
inotifywait -me modify --format '' "$path"/actual_brightness | while read; do<br />
xbacklight -set "$(luminance)"<br />
done<br />
</nowiki>}}</div>Shimmy1996https://wiki.archlinux.org/index.php?title=Thunderbird&diff=521993Thunderbird2018-05-20T02:52:24Z<p>Shimmy1996: Update to new thunderbird.net addresses.</p>
<hr />
<div>[[Category:Email clients]]<br />
[[de:Thunderbird]]<br />
[[fr:Thunderbird]]<br />
[[it:Thunderbird]]<br />
[[ja:Thunderbird]]<br />
{{Related articles start}}<br />
{{Related|Thunderbird/Enigmail}}<br />
{{Related|Firefox}}<br />
{{Related articles end}}<br />
<br />
[https://www.thunderbird.net/en-US/ Mozilla Thunderbird] is an open source email, news, and chat client developed by the [https://www.mozilla.org/ Mozilla Foundation].<br />
<br />
== Installation ==<br />
<br />
[[Install]] the {{Pkg|thunderbird}} package, with a [https://www.archlinux.org/packages/?q=thunderbird-i18n language pack] if required.<br />
<br />
Other versions include:<br />
<br />
* {{App | Thunderbird Beta | Cutting edge features with relatively-good stability. | https://www.thunderbird.net/channel/ | {{AUR|thunderbird-beta-bin}}}}<br />
* {{App | Thunderbird Earlybird | Experience the newest innovations as they're developed (equivalent to an alpha and Firefox Aurora releases). | https://www.thunderbird.net/channel/ | {{AUR|thunderbird-earlybird}}}}<br />
* {{App | Thunderbird Nightly | Experience the newest innovations with nightly releases (for those that want to work with breakages). | https://ftp.mozilla.org/pub/mozilla.org/thunderbird/nightly/latest-comm-central/ | {{AUR|thunderbird-nightly}}}}<br />
<br />
A version overview, both past and future, can be read on the [https://wiki.mozilla.org/Releases Mozilla wiki].<br />
<br />
== Securing ==<br />
<br />
=== Considerations ===<br />
<br />
Under some circumstances Thunderbird may send your system's (internal) IP address as reply to HELO/ELHO requesting SMTP servers. If you have concerns, please read [http://kb.mozillazine.org/Replace_IP_address_with_name_in_headers this] article. You might change this for Firefox, too.<br />
<br />
If you want to hide Thunderbird for sending your system's [https://developer.mozilla.org/en-US/docs/Web/HTTP/Gecko_user_agent_string_reference#Linux User Agent] string,<br />
create a new empty string entry {{ic|general.useragent.override}} in the [[#Config Editor]].<br />
<br />
While Thunderbird disables email images by default, it enables HTML rendering which may expose IP address and location. Choose ''View > Message Body As > Plain Text'' to disable this.<br />
<br />
JavaScript is disabled for message content but not RSS news feeds. To disable JavaScript for RSS set {{ic|javascript.enabled}} to false in the [[#Config Editor]].<br />
<br />
== Extensions ==<br />
<br />
* {{App|[[Thunderbird/Enigmail|Enigmail]]|Extension for writing and receiving email signed and/or encrypted with the OpenPGP standard.|https://www.enigmail.net|{{AUR|thunderbird-enigmail}}, {{AUR|thunderbird-enigmail-bin}}}}<br />
* {{App|TorBirdy|Extension that configures Thunderbird to make connections over the [[Tor]] anonymity network|[https://addons.mozilla.org/thunderbird/addon/torbirdy/ TorBirdy AMO]|}}<br />
* {{App|FireTray|Adds a customizable system tray icon for Thunderbird|[https://addons.mozilla.org/thunderbird/addon/firetray/ FireTray AMO]|}}<br />
* {{App|[https://www.mozilla.org/projects/calendar/lightning/ Lightning]| A calendar extension that brings [[Wikipedia:Mozilla Sunbird|Sunbird]]'s functionality to Thunderbird, including CalDAV support.|[https://addons.mozilla.org/thunderbird/addon/lightning/ Lightning AMO] |{{aur|thunderbird-lightning-bin}}}}<br />
* {{App|SOGo Connector| Lets you sync address books via CardDAV|https://sogo.nu/download.html#/frontends|{{AUR|thunderbird-sogo-connector-bin}}}}<br />
* {{App|Cardbook|A new addressbook for Thunderbird based on the CARDDav and VCARD standards.|[https://addons.mozilla.org/thunderbird/addon/cardbook/ Cardbook AMO]|}}<br />
<br />
== Tips and tricks ==<br />
<br />
=== Config Editor ===<br />
<br />
Thunderbird can be extensively configured in ''Edit > Preferences > Advanced > General > Config Editor''.<br />
<br />
=== Setting the default browser ===<br />
<br />
{{Note|Since version 24 the {{ic|network.protocol-handler.app.*}} keys have no effect and will not be able to set the default browser.}}<br />
<br />
Thunderbird uses the default browser as defined by the [[XDG MIME Applications]]. This is commonly modified by the Gnome Control Center (''Gnome Control Center > Details > Default Applications > Web'') (available in: {{Pkg|gnome-control-center}}).<br />
<br />
This can be overridden in the [[#Config Editor]] by searching for {{ic|network.protocol-handler.warn-external}}.<br />
<br />
If the following three are all set to '''false''' (default), turn them to '''true''', and Thunderbird will ask you when clicking on links which application to use (remember to also check ''"Remember my choice for .. links"'').<br />
<br />
network.protocol-handler.warn-external.ftp<br />
network.protocol-handler.warn-external.http<br />
network.protocol-handler.warn-external.https<br />
<br />
=== Plain Text mode and font uniformity ===<br />
<br />
Plain Text mode lets you view all your emails without HTML rendering and is available in ''View > Message Body As''. This defaults to the [[Wikipedia:Monospace_(Unicode)|Monospace]] font but the size is still inherited from original system fontconfig settings. The following example will overwrite this with Ubuntu Mono of 10 pixels (available in: {{Pkg|ttf-ubuntu-font-family}}).<br />
<br />
Remember to run {{ic|fc-cache -fv}} to update system font cache. See [[Font configuration]] for more information.<br />
<br />
{{hc|~/.config/fontconfig/fonts.conf|<nowiki><br />
<?xml version="1.0"?><br />
<!DOCTYPE fontconfig SYSTEM "fonts.dtd"><br />
<fontconfig><br />
<match target="pattern"><br />
<test qual="any" name="family"><string>monospace</string></test><br />
<edit name="family" mode="assign" binding="same"><string>Ubuntu Mono</string></edit><br />
<!-- For Thunderbird, lowering default font size to 10 for uniformity --><br />
<edit name="pixelsize" mode="assign"><int>10</int></edit><br />
</match><br />
</fontconfig><br />
</nowiki>}}<br />
<br />
=== Webmail with Thunderbird ===<br />
<br />
:''See upstream Wiki: [http://kb.mozillazine.org/Using_webmail_with_your_email_client Using webmail with your email client].''<br />
<br />
=== Migrate profile to another system ===<br />
<br />
{{Tip|The [https://addons.mozilla.org/thunderbird/addon/importexporttools ImportExportTools] addon offers an option to export and import a profile folder.}}<br />
<br />
Before you start with Importing or Exporting tasks, backup your complete {{ic|~/.thunderbird}} profile:<br />
<br />
$ cp -R ~/.thunderbird /to/backup/folder/<br />
<br />
With migration you just copy your current Thunderbird profile to another PC or a new Thunderbird installation:<br />
<br />
1. Install Thunderbird on the target PC<br />
<br />
2. Start Thunderbird without doing anything and quit it.<br />
<br />
3. Go to your Backup folder of your old Thunderbird installation<br />
<br />
4. Enter the backup profile folder:<br />
<br />
$ cd /to/backup/folder/.thunderbird/<oldrandomnumber>.default/<br />
<br />
5. Copy its content into the target profile folder {{ic|~/.thunderbird/<newrandomnumber>.default/}}<br />
<br />
$ cp -R /to/backup/folder/.thunderbird/<oldrandomnumber>.default/* ~/.thunderbird/<newrandomnumber>.default/<br />
<br />
=== Export + Import ===<br />
<br />
Before you start with Importing or Exporting tasks, backup your complete {{ic|~/.thunderbird}} profile:<br />
<br />
$ cp -R ~/.thunderbird /to/backup/folder/<br />
<br />
If your accounts are broken or you want to join two different Thunderbird installations, you better install one Import and Export AddOn (eg. [https://addons.mozilla.org/thunderbird/addon/importexporttools ImportExportTools AddOn]) to both Thunderbird installations and following this just export and import all your data to the new installation.<br />
<br />
=== Changing the default sorting order ===<br />
Thunderbird (up to at least 31.4.0-1) sorts mail by date with the oldest on top without any threading. While this can be changed per folder, it is easier to set a sane default instead as described in [https://superuser.com/questions/13518/change-the-default-sorting-order-in-thunderbird this Superuser.com post].<br />
<br />
Set these preferences in the [[#Config Editor]]:<br />
<br />
mailnews.default_sort_order = 2 (descending)<br />
mailnews.default_view_flags = 1 (Threaded view)<br />
<br />
=== Maildir support ===<br />
The default message store format is mbox. To enable the use of Maildir, see [https://wiki.mozilla.org/Thunderbird/Maildir Mozilla wiki: Thunderbird/Maildir]. You basically have to set the following preference in the [[#Config Editor]]:<br />
<br />
mail.serverDefaultStoreContractID = @mozilla.org/msgstore/maildirstore;1<br />
<br />
Some limitations up to at least 31.4.0-1: only the "tmp" and "cur" directories are supported. The "new" directory is completely ignored. The read state of mails are stored in a separate ".msf" file, so initially all local mail using Maildir will be marked as unread even when located in the "cur" directory.<br />
<br />
=== Spell checking ===<br />
<br />
[[Install]] {{Pkg|hunspell}} and a [https://www.archlinux.org/packages/?q=hunspell+dict hunspell language dictionary] and restart Thunderbird.<br />
<br />
See the Firefox article for [[Firefox#Firefox does not remember default spell check language|how to set the default spell checking language]].<br />
<br />
=== Native notifications ===<br />
<br />
Enable {{ic|mail.biff.use_system_alert}} in the [[#Config Editor]]. This option means that extensions (such as Gnome Integration) are not needed for these newer versions of Thunderbird.<br />
<br />
== Troubleshooting ==<br />
<br />
=== LDAP Segfault ===<br />
<br />
An [https://bugzilla.mozilla.org/show_bug.cgi?id=292127 LDAP clash (Bugzilla#292127)] arises on systems configured to use it to fetch user information. A possible [https://bugzilla.mozilla.org/show_bug.cgi?id=292127#c7 workaround] consists of renaming the conflicting bundled LDAP library.<br />
<br />
=== Error: Incoming server already exists ===<br />
<br />
It seems Thunderbird (v24) still has that bug which pops up with "Incoming server already exists" if you want to reinstall a previously deleted account with the same account data afterwards. Unfortunately, if you get this error you can now only clean reinstall Thunderbird: <br />
<br />
1. Make a backup of your current profile:<br />
<br />
$ cp -R ~/.thunderbird /to/backup/folder/<br />
<br />
2. Export all you Accounts, Calendar and Feeds via an AddOn like it's written in ''Export section'' of this Wiki.<br />
3. Uninstall your current Thunderbird installation<br />
<br />
$ pacman -R thunderbird<br />
<br />
4. Remove all your data by deleting your current Thunderbird folder {{ic|rm -R ~/.thunderbird/}}.<br />
<br />
5. Install Thunderbird again:<br />
<br />
$ pacman -S thunderbird<br />
<br />
6. Create your mail accounts, feeds and calenders (empty).<br />
<br />
7. Install the [https://addons.mozilla.org/thunderbird/addon/importexporttools/ ImportExportTools] AddOn<br />
<br />
8. Import all your data.<br />
<br />
=== Thunderbird UI freezes when receiving a new message ===<br />
<br />
If Thunderbird is configured to show an alert when a new message arrives, or at launch, the lack of a notification daemon may freeze the interface (white screen) for many seconds. You can solve this issue by disabling alerts or installing a [[Desktop_notifications#Notification_servers|notification server]].</div>Shimmy1996https://wiki.archlinux.org/index.php?title=Mastodon&diff=508523Mastodon2018-01-26T03:09:44Z<p>Shimmy1996: Updated documentation link.</p>
<hr />
<div>[[Category:Web applications]]<br />
[[ja:Mastodon]]<br />
{{Related articles start}}<br />
{{Related|Diaspora}}<br />
{{Related|Rbenv}}<br />
{{Related|Ruby}}<br />
{{Related articles end}}<br />
<br />
[https://mastodon.social/ Mastodon] is a free, open-source social network, written in Ruby. A decentralized alternative to commercial platforms, it avoids the risks of a single company monopolizing your communication. Pick a server that you trust — whichever you choose, you can interact with everyone else. Anyone can run their own Mastodon instance and participate in the social network seamlessly. <br />
<br />
== Install ==<br />
<br />
{{Expansion|1=[https://aur.archlinux.org/packages/?O=0&SeB=nd&K=mastodon&outdated=&SB=n&SO=a&PP=50&do_Search=Go Mastodon] packages in the AUR are being worked on.}}<br />
<br />
=== Prerequisites ===<br />
<br />
Add new user {{ic|mastodon}}<br />
<br />
Check [https://github.com/rbenv/ruby-build/wiki#suggested-build-environment build environment] and then the [https://github.com/tootsuite/documentation/blob/master/Running-Mastodon/Production-guide.md Official Install guide] and prepare your setup by following:<br />
<br />
* https://github.com/rbenv/rbenv#installation<br />
* https://github.com/rbenv/ruby-build#installation</div>Shimmy1996https://wiki.archlinux.org/index.php?title=OpenDKIM&diff=493207OpenDKIM2017-10-14T15:52:00Z<p>Shimmy1996: Corrected configuration file path.</p>
<hr />
<div>[[Category:Mail server]]<br />
[[ja:OpenDKIM]]<br />
DomainKeys Identified Mail (DKIM) is a digital email signing/verification technology, which is supported by most common mail providers, including Yahoo, Google and Outlook.com.<br />
<br />
== The idea ==<br />
<br />
Basically DKIM means digitally signing all messages on the server to verify the message actually was sent from the domain in question and is not spam or phishing (and has not been modified).<br />
<br />
*The sender's mail server signs outgoing email with the private key.<br />
<br />
*When the message arrives, the receiver (or his server) requests the public key from the domain's DNS and verifies the signature.<br />
<br />
This ensures the message was sent from a server whose private key matches the domain's public key.<br />
<br />
For more info see [http://tools.ietf.org/html/rfc6376 RFC 6376]<br />
<br />
== Installation ==<br />
<br />
[[Install]] the {{Pkg|opendkim}} package.<br />
<br />
== Configuration ==<br />
<br />
The main configuration file for the signing service is {{ic|/etc/opendkim/opendkim.conf}}.<br />
<br />
* Copy/move the sample configuration file {{ic|/etc/opendkim/opendkim.conf.sample}} to {{ic|/etc/opendkim/opendkim.conf}} and change the following options:<br />
{{hc|/etc/opendkim/opendkim.conf|<br />
Domain example.com<br />
KeyFile /path/to/keys/server1.private<br />
Selector myselector<br />
Socket inet:8891@localhost<br />
UserID opendkim<br />
}}<br />
* To generate a secret signing key, you need to specify the domain used to send mails and a selector which is used to refer to the key. You may choose anything you like, see the RFC for details, but alpha-numeric strings should be OK:<br />
$ opendkim-genkey -r -s myselector -d example.com<br />
<br />
* Sometimes mails get reformatted on their way (e.g. tab exchanged for spaces), rendering the DKIM signature invalid. To prevent trivial reformatting in header and body destroying trust, there is ''Canonicalization'', a policy stating how strict formatting is to be conserved. Available settings are ''simple'' for no reformatting allowed and ''relaxed'' for some reformatting allowed. For details see [http://dkim.org/specs/rfc4871-dkimbase.html#canonicalization]. These can be set individually for header and body:<br />
{{hc|/etc/opendkim/opendkim.conf|<br />
...<br />
Canonicalization relaxed/simple<br />
...<br />
}}<br />
This example allows some reformatting of the header but not in the message body. Default settings for openDKIM are ''simple/simple''.<br />
<br />
* Other configuration options are available. Make sure to read the documentation.<br />
<br />
* Enable and start the {{ic|opendkim.service}}. Read [[Daemons]] for more information.<br />
<br />
== DNS Record ==<br />
<br />
Add a '''DNS TXT''' record with your selector and public key. The correct record is generated with the private key and can be found in {{ic|myselector.txt}} in the same location as the private key.<br />
<br />
Example:<br />
myselector._domainkey IN TXT "v=DKIM1; k=rsa; s=email; p=...................."<br />
There are several other switches available for the record (see [http://www.dkim.org/specs/rfc4871-dkimbase.html#key-text RFC4871]), the most interesting might be the {{ic|<nowiki>t=y</nowiki>}} which enables testing mode, signaling a checking receiver that the mail must not be treated differently from an unsigned mail, regardless of the state of the signature.<br />
<br />
Check that your DNS record has been correctly updated:<br />
host -t TXT myselector._domainkey.example.com<br />
You may also check that your DKIM DNS record is properly formated using one of the [http://dkimcore.org/tools/ DKIM Key checkers] available on the web.<br />
<br />
== Postfix integration ==<br />
<br />
Either add the following lines to {{ic|main.cf}}:<br />
non_smtpd_milters=inet:127.0.0.1:8891<br />
smtpd_milters=inet:127.0.0.1:8891<br />
<br />
Or change smtpd options in {{ic|master.cf}}:<br />
smtp inet n - n - - smtpd<br />
-o smtpd_client_connection_count_limit=10<br />
-o smtpd_milters=inet:127.0.0.1:8891<br />
<br />
submission inet n - n - - smtpd<br />
-o smtpd_enforce_tls=no<br />
-o smtpd_sasl_auth_enable=yes<br />
-o smtpd_client_restrictions=permit_sasl_authenticated,reject<br />
-o smtpd_sasl_path=smtpd<br />
-o cyrus_sasl_config_path=/etc/sasl2<br />
-o smtpd_milters=inet:127.0.0.1:8891<br />
<br />
== Sendmail integration ==<br />
<br />
Edit the {{ic|sendmail.mc}} file and add the following line, '''after the last line''' starting with {{ic|FEATURE}}:<br />
<br />
{{hc|/etc/mail/sendmail.mc|<nowiki><br />
INPUT_MAIL_FILTER(`opendkim', `S=inet:8891@localhost')<br />
</nowiki>}}<br />
<br />
Rebuild the {{ic|sendmail.cf}} file with:<br />
<br />
# m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf<br />
<br />
And then restart the {{ic|sendmail.service}}. Read [[Daemons]] for more details.<br />
<br />
==Multiple domains==<br />
<br />
If you are providing mail server service to multiple virtual domains on the same server, you will need to modify the basic configuration as below:<br />
<br />
Provide these directives in {{ic|/etc/opendkim/opendkim.conf}}:<br />
KeyTable refile:/etc/opendkim/KeyTable<br />
SigningTable refile:/etc/opendkim/SigningTable<br />
ExternalIgnoreList refile:/etc/opendkim/TrustedHosts<br />
InternalHosts refile:/etc/opendkim/TrustedHosts<br />
<br />
Create the following two files to tell opendkim where to find the correct keys. You can use the same key for all the domains or generate a key for each domain. Make changes to match your settings. Add more lines as needed.<br />
{{hc|/etc/opendkim/KeyTable| <br />
myselector._domainkey.example1.com example1.com:myselector:/etc/opendkim/myselector.private<br />
myselector._domainkey.example2.com example2.com:myselector:/etc/opendkim/myselector.private<br />
...<br />
}}<br />
<br />
{{hc|/etc/opendkim/SigningTable|<br />
*@example1.com myselector._domainkey.example1.com<br />
*@example2.com myselector._domainkey.example2.com<br />
...<br />
}}<br />
<br />
An existent {{ic|/etc/opendkim/TrustedHosts}} file tells opendkim who to let use your keys. This is referenced by the {{ic|ExternalIgnoreList}} directive in your conf file. Opendkim will ignore this list of hosts when verifying incoming mail. And, because it is also referenced by the {{ic|InternalHosts}} directive, this same list of hosts will be considered “internal,” and opendkim will sign their outgoing mail. Example: <br />
{{ic|/etc/opendkim/TrustedHosts|<br />
127.0.0.1<br />
::1<br />
hostname.example1.com<br />
example1.com<br />
hostname.example2.com<br />
example2.com<br />
...<br />
}}<br />
<br />
Change ownership of all files to opendkim:<br />
# chown -R opendkim:mail /etc/opendkim<br />
<br />
Add a DNS TXT record with your selector and public key for each of the domains.<br />
<br />
You can now [[restart]] opendkim.<br />
<br />
== Security ==<br />
<br />
The default configuration for the OpenDKIM daemon is less than ideal from a security point of view (all those are minor security issues):<br />
* The OpenDKIM daemon does not need to run as {{ic|root}} at all (the configuration suggested earlier will have OpenDKIM drop {{ic|root}} privileges by itself, but systemd can do this too and much earlier).<br />
* If your mail daemon is on the same host as the OpenDKIM daemon, there is no need for localhost tcp sockets and unix sockets may be used instead, allowing classic user/group access controls.<br />
* OpenDKIM is using the {{ic|/tmp}} folder by default whereas it could use its own folder with additional access restrictions.<br />
<br />
The following configuration files will fix most of those issues (assuming you are using Postfix) and drop some unnecessary options in the systemd service unit:<br />
{{hc|/etc/opendkim/opendkim.conf|<br />
BaseDirectory /var/lib/opendkim<br />
Domain example.com<br />
KeyFile /etc/opendkim/myselector.private<br />
Selector myselector<br />
Socket local:/run/opendkim/opendkim.sock<br />
Syslog Yes<br />
TemporaryDirectory /run/opendkim<br />
UMask 002<br />
}}<br />
<br />
{{hc|/etc/systemd/system/opendkim.service|<nowiki><br />
[Unit]<br />
Description=OpenDKIM daemon<br />
After=network.target remote-fs.target nss-lookup.target<br />
<br />
[Service]<br />
Type=forking<br />
User=opendkim<br />
Group=postfix<br />
ExecStart=/usr/bin/opendkim -x /etc/opendkim/opendkim.conf<br />
RuntimeDirectory=opendkim<br />
RuntimeDirectoryMode=0750<br />
<br />
[Install]<br />
WantedBy=multi-user.target<br />
</nowiki>}}<br />
<br />
<br />
Add the socket directory and set its credentials:<br />
<br />
# mkdir /run/opendkim<br />
# chown opendkim:mail /run/opendkim<br />
<br />
Edit {{ic|/etc/postfix/main.cf}} accordingly to make Postfix listen to this unix socket:<br />
{{hc|/etc/postfix/main.cf|<nowiki><br />
smtpd_milters = unix:/run/opendkim/opendkim.sock<br />
non_smtpd_milters = unix:/run/opendkim/opendkim.sock<br />
</nowiki>}}<br />
<br />
<br />
== Notes ==<br />
While you are about to fight spam and increase people's trust in your server, you might want to take a look at [[wikipedia:Sender Policy Framework|Sender Policy Framework]], which basically means adding a DNS Record stating which servers are authorized to send email for your domain.</div>Shimmy1996https://wiki.archlinux.org/index.php?title=LaTeX&diff=361467LaTeX2015-02-17T01:11:49Z<p>Shimmy1996: /* Editors and environments */</p>
<hr />
<div>[[Category:TeX]]<br />
[[fr:LaTeX]]<br />
[[ja:LaTeX]]<br />
{{Related articles start}}<br />
{{Related|TeX Live}}<br />
{{Related|TeX Live FAQ}}<br />
{{Related|TeX Live and CJK}}<br />
{{Related articles end}}<br />
[[Wikipedia:LaTeX|LaTeX]] is a popular markup language and document preparation system, often used in the sciences. The current implementation in Arch Linux is [[TeX Live]]. See [[TeX Live]] for how to install and config it.<br />
<br />
== Editors and environments ==<br />
<br />
While LaTeX can be written in a simple text editor, many people wish to edit LaTeX source in a specialized environment. The following editors, which use various toolkits, are all available in the [[official repositories]] and can be installed with [[pacman]].<br />
<br />
See also [[Wikipedia:Comparison of TeX editors]].<br />
<br />
=== GTK+ ===<br />
* {{App|gedit|Supports LaTeX syntax highlighting and also (via {{AUR|gedit-latex}} plugin) code-completion, compiling LaTeX documents and managing BibTeX bibliographies, it is included in {{Grp|gnome-extra}}.|http://www.gnome.org/|{{Pkg|gedit}}}}<br />
* {{App|Winefish|A very lightweight LaTeX editing suite. It supports highlighting and code completion, compile-from-editor, among other things.|http://developer.berlios.de/projects/winefish/|{{AUR|winefish}}}}<br />
* {{App|geany|An IDE that includes LaTeX syntax highlighting, building, and shows a list of environments/sections/labels in the sidebar.|http://www.geany.org/|{{Pkg|geany}}}}<br />
* {{App|gummi|Lightweight LaTeX editor. It features a continuous preview mode, integrated BibTeX support, extendable snippet interface and multi-document support.|https://github.com/alexandervdm/gummi|{{pkg|gummi}}}}<br />
* {{App|LaTeXila|LaTeX editor for the GNOME Desktop including support for code completion, compiling and project management.|https://projects.gnome.org/latexila/|{{AUR|latexila}}}}<br />
<br />
=== KDE ===<br />
* {{App|Kile|A user friendly TeX/LaTeX front-end for [[KDE]]|http://kile.sourceforge.net/|{{Pkg|kile}}}}<br />
* {{App|Ktikz|GUI making diagrams with [http://pgf.sourceforge.net/ TikZ/PGF] easier.|http://www.hackenberger.at/blog/ktikz-editor-for-the-tikz-language/|{{Pkg|ktikz}}}}<br />
<br />
=== Other ===<br />
* {{App|Emacs|[[Emacs]] (AucTeX), together with {{Pkg|auctex}} and RefTeX, provides a complete, powerful, and customizable LaTeX environment.|https://www.gnu.org/software/emacs/|{{pkg|emacs}}}}<br />
* {{App|Emacs|[[Emacs]] (WhizzyTeX), together with {{AUR|whizzytex}}, provides a nice live preview editor for Emacs.|http://www.emacswiki.org/WhizzyTeX/|{{pkg|emacs}}}}<br />
* {{App|Vim|[[Vim]] together with {{Pkg|vim-latexsuite}} or {{AUR|vim-latexsuite-git}} can be used as customizable LaTeX environment.|http://www.vim.org|{{Pkg|vim}}}}<br />
* {{App|TeXMaker|A free, modern and cross-platform LaTeX editor for Linux, Mac OS X, and Windows systems that integrates many tools needed to develop documents with LaTeX, in just one application. Also check out {{AUR|TeXWorks}}.|http://www.xm1math.net/texmaker/|{{Pkg|texmaker}}}}<br />
* {{App|TeXstudio|Fork of TeXMaker including support for code completion of bibtex items, grammar check and automatic detection of the need for multiple LaTeX runs.|http://texstudio.sourceforge.net/|{{pkg|texstudio}}}}<br />
* {{App|LyX|An advanced open-source [[Wikipedia:WYSIWYM|WYSIWYM]] document processor.|http://www.lyx.org/|{{Pkg|lyx}}}}<br />
* {{App|JabRef|Java GUI frontend for managing BibTeX and other bibliographies.|http://jabref.sourceforge.net/index.php|{{AUR|jabref}} {{AUR|jabref-git}}}}<br />
* {{App|Zotero|This is a free, easy-to-use tool to help you collect, organize, cite, and share your research sources. There is a stand-alone version and a Firefox add-on available.|http://www.zotero.org/support/3.0/|{{AUR|zotero}}}}<br />
* {{App|TeXmacs|[[Wikipedia:WYSIWYW|WYSIWYW]] (what you see is what you want) editing platform with special features for scientists.|http://www.texmacs.org|{{Pkg|texmacs}}}}<br />
<br />
=== Online tools ===<br />
* {{App|Authorea|Online collaborative editor for scientific, academic, and technical documents.|https://www.authorea.com/|}}<br />
* {{App|ShareLaTeX|An open source online LaTeX editor. You can either run your own local version where you can host, edit, collaborate in real-time, and compile your LaTeX documents, or simply use the version hosted on the official website.|https://www.sharelatex.com/|}}<br />
* {{App|Overleaf|(Previously writeLaTeX) Online collaborative LaTeX editor with integrated real-time preview.|https://www.overleaf.com/|}}<br />
* {{App|cloudTeX|Social TeX in the cloud.|https://cloud-tex.com/|}}<br />
* {{App|Papeeria|Online LaTeX editor.|http://papeeria.com/|}}</div>Shimmy1996