https://wiki.archlinux.org/api.php?action=feedcontributions&user=Zyamilon&feedformat=atom
ArchWiki - User contributions [en]
2024-03-29T13:56:04Z
User contributions
MediaWiki 1.41.0
https://wiki.archlinux.org/index.php?title=Power_management/Suspend_and_hibernate&diff=795746
Power management/Suspend and hibernate
2024-01-01T08:56:11Z
<p>Zyamilon: /* NVME issues (i.e. can't mount rootfs) on wakeups from Suspend */ boot -> wakeups</p>
<hr />
<div>[[Category:Power management]]<br />
[[de:Bereitschaft und Ruhezustand]]<br />
[[es:Power management (Español)/Suspend and hibernate]]<br />
[[ja:電源管理/サスペンドとハイバネート]]<br />
[[pt:Power management (Português)/Suspend and hibernate]]<br />
[[ru:Power management (Русский)/Suspend and hibernate]]<br />
[[zh-hans:Power management/Suspend and hibernate]]<br />
{{Related articles start}}<br />
{{Related|Uswsusp}}<br />
{{Related|systemd}}<br />
{{Related|Power management}}<br />
{{Related|Wakeup triggers}}<br />
{{Related|swap}}<br />
{{Related articles end}}<br />
<br />
There are [https://docs.kernel.org/admin-guide/pm/sleep-states.html multiple methods] of suspending available, notably:<br />
<br />
; Suspend to idle: Called [https://www.intel.com/content/www/us/en/docs/vtune-profiler/user-guide/2023-0/s0ix-states.html S0ix] by Intel, [https://docs.microsoft.com/en-us/windows-hardware/design/device-experiences/modern-standby Modern Standby] (previously "Connected Standby") by Microsoft and [https://docs.kernel.org/admin-guide/pm/sleep-states.html#suspend-to-idle S2Idle] by the kernel. Designed to be used instead of the '''S3''' [[Wikipedia:ACPI#Global states|sleeping state]] for supported systems, by providing identical energy savings but a drastically reduced wake-up time. {{Tip|While this state is subject to battery drain issues on [https://www.dell.com/support/kbdoc/en-us/000143524/the-battery-drains-quicker-than-expected-on-a-dell-notebook-with-modern-standby-mode-enabled Windows] or [https://support.apple.com/guide/mac-help/mh40773/mac macOS] since they support waking devices in this state for network activity, the Linux software ecosystem does not currently make use of this feature and should be unaffected.}}<br />
; Suspend to RAM (aka suspend, aka sleep): The '''S3''' sleeping state as defined by ACPI. Works by cutting off power to most parts of the machine aside from the RAM, which is required to restore the machine's state. Because of the large power savings, it is advisable for laptops to automatically enter this mode when the computer is running on batteries and the lid is closed (or the user is inactive for some time).<br />
; Suspend to disk (aka hibernate): The '''S4''' sleeping state as defined by ACPI. Saves the machine's state into [[swap space]] and completely powers off the machine. When the machine is powered on, the state is restored. Until then, there is [[Wikipedia:Standby power|zero]] power consumption.<br />
; Hybrid suspend (aka hybrid sleep): A hybrid of suspending and hibernating, sometimes called '''suspend to both'''. Saves the machine's state into swap space, but does not power off the machine. Instead, it invokes the default suspend. Therefore, if the battery is not depleted, the system can resume instantly. If the battery is depleted, the system can be resumed from disk, which is much slower than resuming from RAM, but the machine's state has not been lost.<br />
<br />
There are multiple low level interfaces (backends) providing basic functionality, and some high level interfaces providing tweaks to handle problematic hardware drivers/kernel modules (e.g. video card re-initialization).<br />
<br />
== Low level interfaces ==<br />
<br />
Though these interfaces can be used directly, it is advisable to use the [[#High level interfaces|high level interfaces]] to suspend/hibernate. Using low level interfaces directly is significantly faster than using any high level interface, since running all the pre- and post-suspend hooks takes time, but hooks can properly set the hardware clock, restore wireless, etc.<br />
<br />
=== Kernel (swsusp) ===<br />
<br />
The most straightforward approach is to directly inform the in-kernel software suspend code (swsusp) to enter a suspended state; the exact method and state depends on the level of hardware support. On modern kernels, writing appropriate strings to {{ic|/sys/power/state}} is the primary mechanism to trigger this suspend.<br />
<br />
See [https://docs.kernel.org/admin-guide/pm/sleep-states.html#basic-sysfs-interfaces-for-system-suspend-and-hibernation kernel documentation] for details.<br />
<br />
=== Userspace (uswsusp) ===<br />
<br />
The uswsusp ('Userspace Software Suspend') tools provide wrappers around the kernel's suspend-to-RAM mechanism, which perform some graphics adapter manipulations from userspace before suspending and after resuming. See main article [[Uswsusp]].<br />
<br />
{{Note|Project has not received updates since 2011.}}<br />
<br />
== High level interfaces ==<br />
<br />
The goal of these packages is to provide binaries/scripts that can be invoked to perform suspend/hibernate. Actually hooking them up to power buttons or menu clicks or laptop lid events is usually left to other tools. To automatically suspend/hibernate on certain power events, such as laptop lid close or battery depletion percentage, you may want to look into running [[Acpid]].<br />
<br />
=== systemd ===<br />
<br />
[[systemd]] provides native commands for suspend, hibernate and a hybrid suspend; see [[Power management#Power management]] for details. This is the default interface used in Arch Linux.<br />
<br />
See [[Power management#Sleep hooks]] for additional information on configuring suspend/hibernate hooks. Also see {{man|1|systemctl}}, {{man|8|systemd-sleep}}, and {{man|7|systemd.special}}.<br />
<br />
== Changing suspend method ==<br />
<br />
On systems where S0ix suspension does not provide the same energy savings as the regular S3 sleep, or when conserving energy is preferred to a quick resume time, changing the default suspend method is possible.<br />
<br />
{{Tip|S0ix is supposed to provide identical or better energy savings as S3 sleep. See Intel blog posts [https://web.archive.org/web/20230614200816/https://01.org/blogs/qwang59/2018/how-achieve-s0ix-states-linux How to achieve S0ix states in Linux], [https://web.archive.org/web/20230614200306/https://01.org/blogs/qwang59/2020/linux-s0ix-troubleshooting Linux S0ix Troubleshooting] and [https://web.archive.org/web/20230503102522/https://01.org/blogs/thac0/2019/idling-efficiently-linux-case-study Idling Efficiently on Linux: A Case Study] to check if you can make it work as intended. Users on Intel systems can use [https://github.com/intel/S0ixSelftestTool S0ixSelftestTool].}}<br />
<br />
Run the following command to see all suspend methods hardware advertises support for (current method is shown in square brackets[https://docs.kernel.org/admin-guide/pm/sleep-states.html#basic-sysfs-interfaces-for-system-suspend-and-hibernation]):<br />
<br />
{{hc|$ cat /sys/power/mem_sleep|<br />
[s2idle] shallow deep<br />
}}<br />
<br />
If your hardware does not advertise the {{ic|deep}} sleep status, check first if your UEFI advertises some settings for it, generally under ''Power'' or ''Sleep state'' or similar wording, with options named ''Windows 10'', ''Windows and Linux'' or ''S3/Modern standby support'' for S0ix, and ''Legacy'', ''Linux'', ''Linux S3'' or ''S3 enabled'' for S3 sleep. Failing that, you can keep using {{ic|s2idle}}, consider using [[hibernation]] or try to patch the [[DSDT]] tables (or find a patched version online). <br />
<br />
{{Note|This last solution is likely going to cause issues. Manufacturers have stopped fixing bugs with the ACPI S3 state since systems shipping with Windows are encouraged to use "Modern standby" by default; if they have voluntarily not advertised it, it is probably broken in some way.}}<br />
<br />
Confirm that your hardware does not exhibit issues with S3 sleep by testing a few sleep cycles after changing the sleep method: <br />
<br />
# echo "deep" > /sys/power/mem_sleep<br />
<br />
If no issues have been found, you can make the change permanent with the {{ic|1=mem_sleep_default=deep}} [[kernel parameter]].<br />
<br />
In some opposite situations, faulty firmware advertises support for {{ic|deep}} sleep, while only {{ic|s2idle}} is supported. In this case, an alternative method for using {{ic|s2idle}} is available through the {{ic|SuspendState}} in {{man|5|sleep.conf.d}}:<br />
<br />
{{hc|/etc/systemd/sleep.conf.d/freeze.conf|2=<br />
[Sleep]<br />
SuspendState=freeze<br />
}}<br />
<br />
== Hibernation ==<br />
<br />
In order to use hibernation, you must create a [[swap]] partition or file, and point the kernel to your swap using the {{ic|1=resume=}} kernel parameter. You will also need to [[#Configure the initramfs|configure the initramfs]] so that the kernel will attempt to resume from the specified swap in early userspace. These three steps are described in detail below.<br />
<br />
{{Note|<br />
* See [[Dm-crypt/Swap encryption#With suspend-to-disk support]] when using [[encryption]].<br />
* {{Pkg|linux-hardened}} does not support hibernation, see {{Bug|63648}}.<br />
* Hibernating to [[zram#Usage as swap|swap on zram]] is not supported, even when zram is configured with a backing device on permanent storage. ''logind'' will protect against trying to hibernate to a swap space on zram.<br />
}}<br />
<br />
=== About swap partition/file size ===<br />
<br />
Even if your swap partition is smaller than RAM, you still have a good chance of hibernating successfully. See "image_size" in the [https://docs.kernel.org/admin-guide/pm/sleep-states.html?highlight=image_size#basic-sysfs-interfaces-for-system-suspend-and-hibernation kernel documentation] for information on the {{ic|image_size}} {{man|5|sysfs}} pseudo-file.<br />
<br />
You may either decrease the value of {{ic|/sys/power/image_size}} to make the suspend image as small as possible (for small swap partitions), or increase it to possibly speed up the hibernation process. For systems with a large amount of RAM, smaller values may drastically increase the speed of resuming a hibernating system. [[systemd#systemd-tmpfiles - temporary files]] can be used to make this change persistent:<br />
<br />
{{hc|/etc/tmpfiles.d/hibernation_image_size.conf|<br />
# Path Mode UID GID Age Argument<br />
w /sys/power/image_size - - - - 0<br />
}}<br />
<br />
The suspend image cannot span multiple swap partitions and/or swap files. It must fully fit in one swap partition or one swap file.[https://docs.kernel.org/power/swsusp.html]<br />
<br />
=== Configure the initramfs ===<br />
<br />
* When using a busybox-based [[initramfs]], which is the default, the {{ic|resume}} hook is required in {{ic|/etc/mkinitcpio.conf}}. Whether by label or by UUID, the swap partition is referred to with a udev device node, so the {{ic|resume}} hook must go ''after'' the {{ic|udev}} hook. This example was made starting from the default hook configuration:<br />
<br />
:{{bc|1=HOOKS=(base udev autodetect modconf kms keyboard keymap consolefont block filesystems '''resume''' fsck)}}<br />
<br />
:Remember to [[regenerate the initramfs]] for these changes to take effect.<br />
<br />
:{{Note|[[LVM]] users should add the {{ic|resume}} hook after {{ic|lvm2}}.}}<br />
<br />
* When an initramfs with the {{ic|systemd}} hook is used, a resume mechanism is already provided, and no further hooks need to be added.<br />
<br />
=== Required kernel parameters ===<br />
<br />
{{Expansion|1=With {{Pkg|systemd}} >= 255, it is no longer necessary to manually configure {{ic|1=resume=}} kernel parameter when the system is running on EFI and a systemd-based [[initramfs]] is used. [https://github.com/systemd/systemd/blob/v255-rc2/NEWS#L1327-L1331]}}<br />
<br />
The [[kernel parameter]] {{ic|1=resume=''swap_device''}} must be used. Any of the [[persistent block device naming]] methods can be used as {{ic|''swap_device''}}. For example:<br />
<br />
* {{ic|1=resume=UUID=4209c845-f495-4c43-8a03-5363dd433153}}<br />
* {{ic|1=resume="PARTLABEL=Swap partition"}}<br />
* {{ic|1=resume=/dev/archVolumeGroup/archLogicalVolume}} -- if swap is on a [[LVM]] logical volume (UUID and Label should also work)<br />
<br />
The kernel parameters will only take effect after rebooting. To hibernate right away, obtain the volume's major and minor device numbers from [[lsblk]] and echo them in format {{ic|''major'':''minor''}} to {{ic|/sys/power/resume}}. If using a swap file, additionally echo the resume offset to {{ic|/sys/power/resume_offset}}. [https://docs.kernel.org/power/swsusp.html]<br />
<br />
For example, if the swap device is {{ic|8:3}}:<br />
<br />
# echo 8:3 > /sys/power/resume<br />
<br />
Or when hibernating to a swap file, if the swap file is on volume {{ic|8:2}} and has the offset {{ic|38912}}:<br />
<br />
# echo 8:2 > /sys/power/resume<br />
# echo 38912 > /sys/power/resume_offset<br />
<br />
==== Hibernation into swap file ====<br />
<br />
Using a [[swap file]] requires also setting the {{ic|1=resume=UUID=''swap_device_uuid''}} and additionally a {{ic|1=resume_offset=''swap_file_offset''}} [[kernel parameters]]. See [https://docs.kernel.org/power/swsusp-and-swap-files.html the kernel documentation].<br />
<br />
{{ic|''swap_device''}} is the volume where the swap file resides and it follows the same format as for the [[Persistent block device naming#Kernel parameters|root parameter]].<br />
<br />
On file systems other than Btrfs, the value of {{ic|''swap_file_offset''}} can be obtained by running {{ic|filefrag -v ''swap_file''}}. The output is in a table format and the required value is in the first row of the {{ic|physical_offset}} column. <br />
<br />
For example:<br />
<br />
{{hc|# filefrag -v /swapfile|<br />
Filesystem type is: ef53<br />
File size of /swapfile is 4294967296 (1048576 blocks of 4096 bytes)<br />
ext: logical_offset: physical_offset: length: expected: flags:<br />
0: 0.. 0: '''38912'''.. 38912: 1: <br />
1: 1.. 22527: 38913.. 61439: 22527: unwritten<br />
2: 22528.. 53247: 899072.. 929791: 30720: 61440: unwritten<br />
...<br />
}}<br />
<br />
In the example the value of {{ic|''swap_file_offset''}} is the first {{ic|38912}} with the two periods and the kernel parameter would be {{ic|resume_offset{{=}}38912}}.<br />
<br />
For [[Btrfs]], do not try to use the ''filefrag'' tool, since the "physical" offset you get from ''filefrag'' is not the real physical offset on disk; there is a virtual disk address space in order to support multiple devices.[https://bugzilla.kernel.org/show_bug.cgi?id=202803] Instead, use the {{man|8|btrfs-inspect-internal}} command. E.g.:<br />
<br />
{{hc|# btrfs inspect-internal map-swapfile -r /swap/swapfile|<br />
198122980<br />
}}<br />
<br />
In this example, {{ic|''swap_file_offset''}} is {{ic|198122980}} and the kernel parameter would be {{ic|resume_offset{{=}}198122980}}<br />
<br />
{{Tip|<br />
* The following command may be used to identify {{ic|''swap_device_uuid''}}: {{ic|1=findmnt -no UUID -T /swapfile}}<br />
* The following command may be used to identify {{ic|''swap_file_offset''}} on file systems other than Btrfs: {{ic|1=filefrag -v /swapfile {{!}} awk '$1=="0:" {print substr($4, 1, length($4)-2)}'}}<br />
* The value of {{ic|''swap_file_offset''}} can also be obtained by running {{ic|swap-offset ''swap_file''}}. The ''swap-offset'' binary is provided within the set of tools [[uswsusp]]. If using this method, then these two parameters have to be provided in {{ic|/etc/suspend.conf}} via the keys {{ic|resume device}} and {{ic|resume offset}}. No reboot is required in this case.<br />
}}<br />
<br />
{{Note|<br />
* For a stacked block device such as an encrypted container (LUKS), RAID or LVM, the {{ic|resume}} parameter must point to the unlocked/mapped device that contains the file system with the swap file.<br />
* If the swap file is in {{ic|/home/}}, ''systemd-logind'' will not be able to determine its size and thus will prevent hibernation with the following message: {{ic|Failed to hibernate system via logind: Not enough swap space for hibernation}}. See [https://github.com/systemd/systemd/issues/15354 systemd issue 15354] for two workarounds.<br />
}}<br />
<br />
{{Tip|You might want to decrease the [[swappiness]] for your swap file if the only purpose is to be able to hibernate, not to expand RAM.}}<br />
<br />
==== Hibernation into a thinly-provisioned LVM volume ====<br />
<br />
Hibernation into a thinly-provisioned [[LVM]] volume is possible, but you have to make sure that the volume is fully allocated. Otherwise resuming from it will fail, see {{Bug|50703}}.<br />
<br />
You can fully allocate the LVM volume by simply filling it with zeros. E.g.:<br />
<br />
# dd if=/dev/zero of=/dev/vg0/swap bs=1M status=progress<br />
<br />
To verify the volume is fully allocated, you can use:<br />
<br />
{{hc|# lvs|<br />
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert<br />
swap vg0 Vwi-aot--- 10.00g pool 100<br />
}}<br />
<br />
A fully allocated volume will show up as having 100% data usage.<br />
<br />
{{Warning|Do not to use [[TRIM]] on thinly-provisioned swap volumes that are used for hibernation, i.e. do not use {{ic|discard}} in {{ic|/etc/fstab}} and the {{ic|-d}}/{{ic|--discard}} option of ''swapon''. Otherwise the used space will be deallocated.}}<br />
<br />
== Intel Rapid Start Technology (IRST) ==<br />
<br />
Intel Rapid Start Technology is a firmware method of hibernation that allows hibernating from sleep after a predefined interval or according to battery state. This should be faster and more reliable than regular hibernation as it is done by firmware instead of at the operating system level. Generally it must enabled in the firmware, and the firmware also provides support for setting the duration after suspend/battery event triggering hibernation. However, some devices–despite supporting IRST in the firmware–only allow it to be configured via Intel's Windows drivers. In such cases the intel-rst kernel module described below should be able to configure the events under Linux.<br />
<br />
With Intel Rapid Start Technology (IRST) enabled, resuming from a deep sleep takes "[https://mjg59.dreamwidth.org/26022.html a few seconds longer than resuming from S3 but is far faster than resuming from hibernation]".<br />
<br />
Many Intel-based systems have firmware support for IRST but require a special partition on an SSD (rather than an HDD). OEM deployments of Windows may have a pre-existing IRST partition which can be retained during the Arch Linux installation process (rather than wiping and re-partitioning the whole SSD). It should show up as an unformatted partition equal in size to the system's RAM.<br />
<br />
{{Warning|The Intel Rapid Start partition is not encrypted; "Intel recommends disabling Intel Rapid Start Technology if you are using software-based disk encryption".[https://www.intel.com/content/www/us/en/support/articles/000024080/technologies.html]}}<br />
<br />
If you intend to wipe and re-partition the whole drive (or have already done so), then the IRST partition must be recreated if you also plan on using the technology. This can be done by creating an empty partition equal in size to the system's RAM and by setting its partition type to [[Wikipedia:GUID Partition Table#Partition type GUIDs|GUID]] {{ic|D3BFE2DE-3DAF-11DF-BA40-E3A556D89593}} for a [[GPT]] partition or [[Wikipedia:Partition type|ID]] {{ic|0x84}} for an [[MBR]] partition. You may also need to enable support for IRST in your system's firmware settings.<br />
<br />
{{Tip|The duration of time before IRST kicks in (after suspending) can be adjusted in the system's firmware settings.}}<br />
<br />
The duration of the IRST hibernation process (i.e., copying the "entire contents of RAM to a special partition") is dependent on the system's RAM size and SSD speed and can thus take 20–60 seconds. Some systems may indicate the process's completion with an LED indicator, e.g., when it stops blinking.<br />
<br />
Configuring IRST hibernation events in the Linux kernel requires {{ic|CONFIG_INTEL_RST}} built-in or as a module. Once loaded via {{ic|modprobe intel_rst}}, it should create the files {{ic|wakeup_events}} and {{ic|wakeup_time}} under {{ic|/sys/bus/acpi/drivers/intel_rapid_start/*/}} that can be used for further configuration. This module is tersely documented, see the source [https://github.com/torvalds/linux/blob/143a6252e1b8ab424b4b293512a97cca7295c182/drivers/platform/x86/intel/rst.c drivers/platform/x86/intel/rst.c] for more details.<br />
<br />
See also the [https://www.intel.com/content/www/us/en/support/articles/000024078/technologies.html general Q&A] and [https://www.intel.com/content/www/us/en/support/articles/000024273/technologies/intel-vpro-platform.html?wapkw=user%20guide%20Intel%20rapid%20start%20 user guides] for Intel Rapid Start Technology.<br />
<br />
== Troubleshooting ==<br />
<br />
=== ACPI_OS_NAME ===<br />
<br />
You might want to tweak your '''DSDT table''' to make it work. See [[DSDT]].<br />
<br />
=== Suspend/hibernate does not work, or does not work consistently ===<br />
<br />
There have been many reports about the screen going black without easily viewable errors or the ability to do anything when going into and coming back from suspend and/or hibernate. These problems have been seen on both laptops and desktops. This is not an official solution, but switching to an older kernel, especially the LTS-kernel, will probably fix this.<br />
<br />
A problem may arise when using the hardware watchdog timer (disabled by default, see {{ic|1=RuntimeWatchdogSec=}} in {{man|5|systemd-system.conf|OPTIONS}}). A buggy watchdog timer may reset the computer before the system finishes creating the hibernation image.<br />
<br />
Sometimes the screen goes black due to device initialization from within the initramfs. Removing any modules you might have in [[Mkinitcpio#MODULES]], removing the {{ic|kms}} hook and rebuilding the initramfs can possibly solve this issue, in particular with graphics drivers for [[Kernel mode setting#Early KMS start|early KMS]]. Initializing such devices before resuming can cause inconsistencies that prevents the system resuming from hibernation. This does not affect resuming from RAM. Also, check the blog article [https://web.archive.org/web/20230502010825/https://01.org/blogs/rzhang/2015/best-practice-debug-linux-suspend/hibernate-issues best practices to debug suspend issues].<br />
<br />
Moving from the [[ATI]] video driver to the newer [[AMDGPU]] driver could also help to make the hibernation and awakening process successful.<br />
<br />
For [[NVIDIA]] users, [[blacklisting]] the module {{ic|nvidiafb}} might help. [https://bbs.archlinux.org/viewtopic.php?id=234646]<br />
<br />
Laptops with an Intel CPU that load the {{ic|intel_lpss_pci}} module for a touchpad may face kernel panic on resume (blinking caps lock) [https://bbs.archlinux.org/viewtopic.php?id=231881]. The module needs to be added to [[initramfs]] as:<br />
<br />
{{hc|/etc/mkinitcpio.conf|2=<br />
MODULES=(... intel_lpss_pci ...)<br />
}}<br />
<br />
Then [[regenerate the initramfs]].<br />
<br />
=== Wake-on-LAN ===<br />
<br />
If [[Wake-on-LAN]] is active, the network interface card will consume power even if the computer is hibernated.<br />
<br />
=== Instantaneous wakeups from suspend ===<br />
<br />
See [[Wakeup triggers#Instantaneous wakeups from suspend]].<br />
<br />
If you are using Linux kernel 6.1 and above on an AMD CPU, this can also be caused by [https://gitlab.freedesktop.org/drm/amd/-/issues/2357 an S3-related control policy issue in the kernel]. A temporary solution would be turning off wakeup on related i2c devices. You can find them by<br />
<br />
$ ls /sys/bus/i2c/devices/*/power/wakeup<br />
<br />
And the format of the device name should be {{ic|i2c-ELAN0679:00}} or {{ic|i2c-MSFT0001:00}}. Then, test if the below command can enter suspend:<br />
<br />
# echo disabled > /sys/bus/i2c/devices/''device_name''/power/wakeup<br />
# systemctl suspend<br />
<br />
If it works, you can persist this config by adding udev rules:<br />
<br />
{{hc|/etc/udev/rules.d/99-avoid-i2c-wakeup.rules|2=KERNEL=="''device_name''", SUBSYSTEM=="i2c", ATTR{power/wakeup}="disabled"}}<br />
<br />
=== System does not power off when hibernating ===<br />
<br />
When you hibernate your system, the system should power off (after saving the state on the disk). Sometimes, you might see the power LED is still glowing. If that happens, it might be instructive to set the {{ic|HibernateMode}} to {{ic|shutdown}} in {{man|5|sleep.conf.d}}:<br />
<br />
{{hc|/etc/systemd/sleep.conf.d/hibernatemode.conf|2=<br />
[Sleep]<br />
HibernateMode=shutdown<br />
}}<br />
<br />
With the above configuration, if everything else is set up correctly, on invocation of a {{ic|systemctl hibernate}} the machine will shut down, saving state to disk as it does so.<br />
<br />
=== Operating system not found (or wrong OS booting) when booting after hibernation ===<br />
<br />
This can happen when the boot disk is an external disk, and seems to be caused by a BIOS/firmware limitation. The BIOS/firmware tries to boot from an internal disk, while hibernation was done from an OS on an external (or other) disk.<br />
<br />
Set {{ic|1=HibernateMode=shutdown}} as shown in [[#System does not power off when hibernating]] to solve the problem permanently. If you have already locked yourself out, you can try rebooting your system 4 times (wait for the error to appear each time), which on some BIOS'es forces a normal boot procedure.<br />
<br />
=== NVME issues (i.e. can't mount rootfs) on wakeups from Suspend ===<br />
<br />
If you you have problems with wakeups from Suspend on NVME disk, try to add:<br />
{{hc|/etc/default/grub|2=<br />
...<br />
GRUB_CMDLINE_LINUX_DEFAULT = ... ibt=off mem_sleep_default=s2idle nvme_core.default_ps_max_latency_us=0<br />
}} to kernel boot parameter. More info [https://gist.github.com/Toliak/86340b839b45f2c6fa4337ba6d8e971b here], [https://askubuntu.com/questions/1444375/huawei-matebook-d-16-with-ubuntu-22-04-wakes-up-from-suspend-improperly here] and [https://forum.manjaro.org/t/huawei-d16-suspend-to-sleep/144801/4 here].</div>
Zyamilon
https://wiki.archlinux.org/index.php?title=Power_management/Suspend_and_hibernate&diff=795745
Power management/Suspend and hibernate
2024-01-01T08:55:00Z
<p>Zyamilon: /* NVME issues (i.e. can't mount rootfs) when booting after Suspend */ fix header</p>
<hr />
<div>[[Category:Power management]]<br />
[[de:Bereitschaft und Ruhezustand]]<br />
[[es:Power management (Español)/Suspend and hibernate]]<br />
[[ja:電源管理/サスペンドとハイバネート]]<br />
[[pt:Power management (Português)/Suspend and hibernate]]<br />
[[ru:Power management (Русский)/Suspend and hibernate]]<br />
[[zh-hans:Power management/Suspend and hibernate]]<br />
{{Related articles start}}<br />
{{Related|Uswsusp}}<br />
{{Related|systemd}}<br />
{{Related|Power management}}<br />
{{Related|Wakeup triggers}}<br />
{{Related|swap}}<br />
{{Related articles end}}<br />
<br />
There are [https://docs.kernel.org/admin-guide/pm/sleep-states.html multiple methods] of suspending available, notably:<br />
<br />
; Suspend to idle: Called [https://www.intel.com/content/www/us/en/docs/vtune-profiler/user-guide/2023-0/s0ix-states.html S0ix] by Intel, [https://docs.microsoft.com/en-us/windows-hardware/design/device-experiences/modern-standby Modern Standby] (previously "Connected Standby") by Microsoft and [https://docs.kernel.org/admin-guide/pm/sleep-states.html#suspend-to-idle S2Idle] by the kernel. Designed to be used instead of the '''S3''' [[Wikipedia:ACPI#Global states|sleeping state]] for supported systems, by providing identical energy savings but a drastically reduced wake-up time. {{Tip|While this state is subject to battery drain issues on [https://www.dell.com/support/kbdoc/en-us/000143524/the-battery-drains-quicker-than-expected-on-a-dell-notebook-with-modern-standby-mode-enabled Windows] or [https://support.apple.com/guide/mac-help/mh40773/mac macOS] since they support waking devices in this state for network activity, the Linux software ecosystem does not currently make use of this feature and should be unaffected.}}<br />
; Suspend to RAM (aka suspend, aka sleep): The '''S3''' sleeping state as defined by ACPI. Works by cutting off power to most parts of the machine aside from the RAM, which is required to restore the machine's state. Because of the large power savings, it is advisable for laptops to automatically enter this mode when the computer is running on batteries and the lid is closed (or the user is inactive for some time).<br />
; Suspend to disk (aka hibernate): The '''S4''' sleeping state as defined by ACPI. Saves the machine's state into [[swap space]] and completely powers off the machine. When the machine is powered on, the state is restored. Until then, there is [[Wikipedia:Standby power|zero]] power consumption.<br />
; Hybrid suspend (aka hybrid sleep): A hybrid of suspending and hibernating, sometimes called '''suspend to both'''. Saves the machine's state into swap space, but does not power off the machine. Instead, it invokes the default suspend. Therefore, if the battery is not depleted, the system can resume instantly. If the battery is depleted, the system can be resumed from disk, which is much slower than resuming from RAM, but the machine's state has not been lost.<br />
<br />
There are multiple low level interfaces (backends) providing basic functionality, and some high level interfaces providing tweaks to handle problematic hardware drivers/kernel modules (e.g. video card re-initialization).<br />
<br />
== Low level interfaces ==<br />
<br />
Though these interfaces can be used directly, it is advisable to use the [[#High level interfaces|high level interfaces]] to suspend/hibernate. Using low level interfaces directly is significantly faster than using any high level interface, since running all the pre- and post-suspend hooks takes time, but hooks can properly set the hardware clock, restore wireless, etc.<br />
<br />
=== Kernel (swsusp) ===<br />
<br />
The most straightforward approach is to directly inform the in-kernel software suspend code (swsusp) to enter a suspended state; the exact method and state depends on the level of hardware support. On modern kernels, writing appropriate strings to {{ic|/sys/power/state}} is the primary mechanism to trigger this suspend.<br />
<br />
See [https://docs.kernel.org/admin-guide/pm/sleep-states.html#basic-sysfs-interfaces-for-system-suspend-and-hibernation kernel documentation] for details.<br />
<br />
=== Userspace (uswsusp) ===<br />
<br />
The uswsusp ('Userspace Software Suspend') tools provide wrappers around the kernel's suspend-to-RAM mechanism, which perform some graphics adapter manipulations from userspace before suspending and after resuming. See main article [[Uswsusp]].<br />
<br />
{{Note|Project has not received updates since 2011.}}<br />
<br />
== High level interfaces ==<br />
<br />
The goal of these packages is to provide binaries/scripts that can be invoked to perform suspend/hibernate. Actually hooking them up to power buttons or menu clicks or laptop lid events is usually left to other tools. To automatically suspend/hibernate on certain power events, such as laptop lid close or battery depletion percentage, you may want to look into running [[Acpid]].<br />
<br />
=== systemd ===<br />
<br />
[[systemd]] provides native commands for suspend, hibernate and a hybrid suspend; see [[Power management#Power management]] for details. This is the default interface used in Arch Linux.<br />
<br />
See [[Power management#Sleep hooks]] for additional information on configuring suspend/hibernate hooks. Also see {{man|1|systemctl}}, {{man|8|systemd-sleep}}, and {{man|7|systemd.special}}.<br />
<br />
== Changing suspend method ==<br />
<br />
On systems where S0ix suspension does not provide the same energy savings as the regular S3 sleep, or when conserving energy is preferred to a quick resume time, changing the default suspend method is possible.<br />
<br />
{{Tip|S0ix is supposed to provide identical or better energy savings as S3 sleep. See Intel blog posts [https://web.archive.org/web/20230614200816/https://01.org/blogs/qwang59/2018/how-achieve-s0ix-states-linux How to achieve S0ix states in Linux], [https://web.archive.org/web/20230614200306/https://01.org/blogs/qwang59/2020/linux-s0ix-troubleshooting Linux S0ix Troubleshooting] and [https://web.archive.org/web/20230503102522/https://01.org/blogs/thac0/2019/idling-efficiently-linux-case-study Idling Efficiently on Linux: A Case Study] to check if you can make it work as intended. Users on Intel systems can use [https://github.com/intel/S0ixSelftestTool S0ixSelftestTool].}}<br />
<br />
Run the following command to see all suspend methods hardware advertises support for (current method is shown in square brackets[https://docs.kernel.org/admin-guide/pm/sleep-states.html#basic-sysfs-interfaces-for-system-suspend-and-hibernation]):<br />
<br />
{{hc|$ cat /sys/power/mem_sleep|<br />
[s2idle] shallow deep<br />
}}<br />
<br />
If your hardware does not advertise the {{ic|deep}} sleep status, check first if your UEFI advertises some settings for it, generally under ''Power'' or ''Sleep state'' or similar wording, with options named ''Windows 10'', ''Windows and Linux'' or ''S3/Modern standby support'' for S0ix, and ''Legacy'', ''Linux'', ''Linux S3'' or ''S3 enabled'' for S3 sleep. Failing that, you can keep using {{ic|s2idle}}, consider using [[hibernation]] or try to patch the [[DSDT]] tables (or find a patched version online). <br />
<br />
{{Note|This last solution is likely going to cause issues. Manufacturers have stopped fixing bugs with the ACPI S3 state since systems shipping with Windows are encouraged to use "Modern standby" by default; if they have voluntarily not advertised it, it is probably broken in some way.}}<br />
<br />
Confirm that your hardware does not exhibit issues with S3 sleep by testing a few sleep cycles after changing the sleep method: <br />
<br />
# echo "deep" > /sys/power/mem_sleep<br />
<br />
If no issues have been found, you can make the change permanent with the {{ic|1=mem_sleep_default=deep}} [[kernel parameter]].<br />
<br />
In some opposite situations, faulty firmware advertises support for {{ic|deep}} sleep, while only {{ic|s2idle}} is supported. In this case, an alternative method for using {{ic|s2idle}} is available through the {{ic|SuspendState}} in {{man|5|sleep.conf.d}}:<br />
<br />
{{hc|/etc/systemd/sleep.conf.d/freeze.conf|2=<br />
[Sleep]<br />
SuspendState=freeze<br />
}}<br />
<br />
== Hibernation ==<br />
<br />
In order to use hibernation, you must create a [[swap]] partition or file, and point the kernel to your swap using the {{ic|1=resume=}} kernel parameter. You will also need to [[#Configure the initramfs|configure the initramfs]] so that the kernel will attempt to resume from the specified swap in early userspace. These three steps are described in detail below.<br />
<br />
{{Note|<br />
* See [[Dm-crypt/Swap encryption#With suspend-to-disk support]] when using [[encryption]].<br />
* {{Pkg|linux-hardened}} does not support hibernation, see {{Bug|63648}}.<br />
* Hibernating to [[zram#Usage as swap|swap on zram]] is not supported, even when zram is configured with a backing device on permanent storage. ''logind'' will protect against trying to hibernate to a swap space on zram.<br />
}}<br />
<br />
=== About swap partition/file size ===<br />
<br />
Even if your swap partition is smaller than RAM, you still have a good chance of hibernating successfully. See "image_size" in the [https://docs.kernel.org/admin-guide/pm/sleep-states.html?highlight=image_size#basic-sysfs-interfaces-for-system-suspend-and-hibernation kernel documentation] for information on the {{ic|image_size}} {{man|5|sysfs}} pseudo-file.<br />
<br />
You may either decrease the value of {{ic|/sys/power/image_size}} to make the suspend image as small as possible (for small swap partitions), or increase it to possibly speed up the hibernation process. For systems with a large amount of RAM, smaller values may drastically increase the speed of resuming a hibernating system. [[systemd#systemd-tmpfiles - temporary files]] can be used to make this change persistent:<br />
<br />
{{hc|/etc/tmpfiles.d/hibernation_image_size.conf|<br />
# Path Mode UID GID Age Argument<br />
w /sys/power/image_size - - - - 0<br />
}}<br />
<br />
The suspend image cannot span multiple swap partitions and/or swap files. It must fully fit in one swap partition or one swap file.[https://docs.kernel.org/power/swsusp.html]<br />
<br />
=== Configure the initramfs ===<br />
<br />
* When using a busybox-based [[initramfs]], which is the default, the {{ic|resume}} hook is required in {{ic|/etc/mkinitcpio.conf}}. Whether by label or by UUID, the swap partition is referred to with a udev device node, so the {{ic|resume}} hook must go ''after'' the {{ic|udev}} hook. This example was made starting from the default hook configuration:<br />
<br />
:{{bc|1=HOOKS=(base udev autodetect modconf kms keyboard keymap consolefont block filesystems '''resume''' fsck)}}<br />
<br />
:Remember to [[regenerate the initramfs]] for these changes to take effect.<br />
<br />
:{{Note|[[LVM]] users should add the {{ic|resume}} hook after {{ic|lvm2}}.}}<br />
<br />
* When an initramfs with the {{ic|systemd}} hook is used, a resume mechanism is already provided, and no further hooks need to be added.<br />
<br />
=== Required kernel parameters ===<br />
<br />
{{Expansion|1=With {{Pkg|systemd}} >= 255, it is no longer necessary to manually configure {{ic|1=resume=}} kernel parameter when the system is running on EFI and a systemd-based [[initramfs]] is used. [https://github.com/systemd/systemd/blob/v255-rc2/NEWS#L1327-L1331]}}<br />
<br />
The [[kernel parameter]] {{ic|1=resume=''swap_device''}} must be used. Any of the [[persistent block device naming]] methods can be used as {{ic|''swap_device''}}. For example:<br />
<br />
* {{ic|1=resume=UUID=4209c845-f495-4c43-8a03-5363dd433153}}<br />
* {{ic|1=resume="PARTLABEL=Swap partition"}}<br />
* {{ic|1=resume=/dev/archVolumeGroup/archLogicalVolume}} -- if swap is on a [[LVM]] logical volume (UUID and Label should also work)<br />
<br />
The kernel parameters will only take effect after rebooting. To hibernate right away, obtain the volume's major and minor device numbers from [[lsblk]] and echo them in format {{ic|''major'':''minor''}} to {{ic|/sys/power/resume}}. If using a swap file, additionally echo the resume offset to {{ic|/sys/power/resume_offset}}. [https://docs.kernel.org/power/swsusp.html]<br />
<br />
For example, if the swap device is {{ic|8:3}}:<br />
<br />
# echo 8:3 > /sys/power/resume<br />
<br />
Or when hibernating to a swap file, if the swap file is on volume {{ic|8:2}} and has the offset {{ic|38912}}:<br />
<br />
# echo 8:2 > /sys/power/resume<br />
# echo 38912 > /sys/power/resume_offset<br />
<br />
==== Hibernation into swap file ====<br />
<br />
Using a [[swap file]] requires also setting the {{ic|1=resume=UUID=''swap_device_uuid''}} and additionally a {{ic|1=resume_offset=''swap_file_offset''}} [[kernel parameters]]. See [https://docs.kernel.org/power/swsusp-and-swap-files.html the kernel documentation].<br />
<br />
{{ic|''swap_device''}} is the volume where the swap file resides and it follows the same format as for the [[Persistent block device naming#Kernel parameters|root parameter]].<br />
<br />
On file systems other than Btrfs, the value of {{ic|''swap_file_offset''}} can be obtained by running {{ic|filefrag -v ''swap_file''}}. The output is in a table format and the required value is in the first row of the {{ic|physical_offset}} column. <br />
<br />
For example:<br />
<br />
{{hc|# filefrag -v /swapfile|<br />
Filesystem type is: ef53<br />
File size of /swapfile is 4294967296 (1048576 blocks of 4096 bytes)<br />
ext: logical_offset: physical_offset: length: expected: flags:<br />
0: 0.. 0: '''38912'''.. 38912: 1: <br />
1: 1.. 22527: 38913.. 61439: 22527: unwritten<br />
2: 22528.. 53247: 899072.. 929791: 30720: 61440: unwritten<br />
...<br />
}}<br />
<br />
In the example the value of {{ic|''swap_file_offset''}} is the first {{ic|38912}} with the two periods and the kernel parameter would be {{ic|resume_offset{{=}}38912}}.<br />
<br />
For [[Btrfs]], do not try to use the ''filefrag'' tool, since the "physical" offset you get from ''filefrag'' is not the real physical offset on disk; there is a virtual disk address space in order to support multiple devices.[https://bugzilla.kernel.org/show_bug.cgi?id=202803] Instead, use the {{man|8|btrfs-inspect-internal}} command. E.g.:<br />
<br />
{{hc|# btrfs inspect-internal map-swapfile -r /swap/swapfile|<br />
198122980<br />
}}<br />
<br />
In this example, {{ic|''swap_file_offset''}} is {{ic|198122980}} and the kernel parameter would be {{ic|resume_offset{{=}}198122980}}<br />
<br />
{{Tip|<br />
* The following command may be used to identify {{ic|''swap_device_uuid''}}: {{ic|1=findmnt -no UUID -T /swapfile}}<br />
* The following command may be used to identify {{ic|''swap_file_offset''}} on file systems other than Btrfs: {{ic|1=filefrag -v /swapfile {{!}} awk '$1=="0:" {print substr($4, 1, length($4)-2)}'}}<br />
* The value of {{ic|''swap_file_offset''}} can also be obtained by running {{ic|swap-offset ''swap_file''}}. The ''swap-offset'' binary is provided within the set of tools [[uswsusp]]. If using this method, then these two parameters have to be provided in {{ic|/etc/suspend.conf}} via the keys {{ic|resume device}} and {{ic|resume offset}}. No reboot is required in this case.<br />
}}<br />
<br />
{{Note|<br />
* For a stacked block device such as an encrypted container (LUKS), RAID or LVM, the {{ic|resume}} parameter must point to the unlocked/mapped device that contains the file system with the swap file.<br />
* If the swap file is in {{ic|/home/}}, ''systemd-logind'' will not be able to determine its size and thus will prevent hibernation with the following message: {{ic|Failed to hibernate system via logind: Not enough swap space for hibernation}}. See [https://github.com/systemd/systemd/issues/15354 systemd issue 15354] for two workarounds.<br />
}}<br />
<br />
{{Tip|You might want to decrease the [[swappiness]] for your swap file if the only purpose is to be able to hibernate, not to expand RAM.}}<br />
<br />
==== Hibernation into a thinly-provisioned LVM volume ====<br />
<br />
Hibernation into a thinly-provisioned [[LVM]] volume is possible, but you have to make sure that the volume is fully allocated. Otherwise resuming from it will fail, see {{Bug|50703}}.<br />
<br />
You can fully allocate the LVM volume by simply filling it with zeros. E.g.:<br />
<br />
# dd if=/dev/zero of=/dev/vg0/swap bs=1M status=progress<br />
<br />
To verify the volume is fully allocated, you can use:<br />
<br />
{{hc|# lvs|<br />
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert<br />
swap vg0 Vwi-aot--- 10.00g pool 100<br />
}}<br />
<br />
A fully allocated volume will show up as having 100% data usage.<br />
<br />
{{Warning|Do not to use [[TRIM]] on thinly-provisioned swap volumes that are used for hibernation, i.e. do not use {{ic|discard}} in {{ic|/etc/fstab}} and the {{ic|-d}}/{{ic|--discard}} option of ''swapon''. Otherwise the used space will be deallocated.}}<br />
<br />
== Intel Rapid Start Technology (IRST) ==<br />
<br />
Intel Rapid Start Technology is a firmware method of hibernation that allows hibernating from sleep after a predefined interval or according to battery state. This should be faster and more reliable than regular hibernation as it is done by firmware instead of at the operating system level. Generally it must enabled in the firmware, and the firmware also provides support for setting the duration after suspend/battery event triggering hibernation. However, some devices–despite supporting IRST in the firmware–only allow it to be configured via Intel's Windows drivers. In such cases the intel-rst kernel module described below should be able to configure the events under Linux.<br />
<br />
With Intel Rapid Start Technology (IRST) enabled, resuming from a deep sleep takes "[https://mjg59.dreamwidth.org/26022.html a few seconds longer than resuming from S3 but is far faster than resuming from hibernation]".<br />
<br />
Many Intel-based systems have firmware support for IRST but require a special partition on an SSD (rather than an HDD). OEM deployments of Windows may have a pre-existing IRST partition which can be retained during the Arch Linux installation process (rather than wiping and re-partitioning the whole SSD). It should show up as an unformatted partition equal in size to the system's RAM.<br />
<br />
{{Warning|The Intel Rapid Start partition is not encrypted; "Intel recommends disabling Intel Rapid Start Technology if you are using software-based disk encryption".[https://www.intel.com/content/www/us/en/support/articles/000024080/technologies.html]}}<br />
<br />
If you intend to wipe and re-partition the whole drive (or have already done so), then the IRST partition must be recreated if you also plan on using the technology. This can be done by creating an empty partition equal in size to the system's RAM and by setting its partition type to [[Wikipedia:GUID Partition Table#Partition type GUIDs|GUID]] {{ic|D3BFE2DE-3DAF-11DF-BA40-E3A556D89593}} for a [[GPT]] partition or [[Wikipedia:Partition type|ID]] {{ic|0x84}} for an [[MBR]] partition. You may also need to enable support for IRST in your system's firmware settings.<br />
<br />
{{Tip|The duration of time before IRST kicks in (after suspending) can be adjusted in the system's firmware settings.}}<br />
<br />
The duration of the IRST hibernation process (i.e., copying the "entire contents of RAM to a special partition") is dependent on the system's RAM size and SSD speed and can thus take 20–60 seconds. Some systems may indicate the process's completion with an LED indicator, e.g., when it stops blinking.<br />
<br />
Configuring IRST hibernation events in the Linux kernel requires {{ic|CONFIG_INTEL_RST}} built-in or as a module. Once loaded via {{ic|modprobe intel_rst}}, it should create the files {{ic|wakeup_events}} and {{ic|wakeup_time}} under {{ic|/sys/bus/acpi/drivers/intel_rapid_start/*/}} that can be used for further configuration. This module is tersely documented, see the source [https://github.com/torvalds/linux/blob/143a6252e1b8ab424b4b293512a97cca7295c182/drivers/platform/x86/intel/rst.c drivers/platform/x86/intel/rst.c] for more details.<br />
<br />
See also the [https://www.intel.com/content/www/us/en/support/articles/000024078/technologies.html general Q&A] and [https://www.intel.com/content/www/us/en/support/articles/000024273/technologies/intel-vpro-platform.html?wapkw=user%20guide%20Intel%20rapid%20start%20 user guides] for Intel Rapid Start Technology.<br />
<br />
== Troubleshooting ==<br />
<br />
=== ACPI_OS_NAME ===<br />
<br />
You might want to tweak your '''DSDT table''' to make it work. See [[DSDT]].<br />
<br />
=== Suspend/hibernate does not work, or does not work consistently ===<br />
<br />
There have been many reports about the screen going black without easily viewable errors or the ability to do anything when going into and coming back from suspend and/or hibernate. These problems have been seen on both laptops and desktops. This is not an official solution, but switching to an older kernel, especially the LTS-kernel, will probably fix this.<br />
<br />
A problem may arise when using the hardware watchdog timer (disabled by default, see {{ic|1=RuntimeWatchdogSec=}} in {{man|5|systemd-system.conf|OPTIONS}}). A buggy watchdog timer may reset the computer before the system finishes creating the hibernation image.<br />
<br />
Sometimes the screen goes black due to device initialization from within the initramfs. Removing any modules you might have in [[Mkinitcpio#MODULES]], removing the {{ic|kms}} hook and rebuilding the initramfs can possibly solve this issue, in particular with graphics drivers for [[Kernel mode setting#Early KMS start|early KMS]]. Initializing such devices before resuming can cause inconsistencies that prevents the system resuming from hibernation. This does not affect resuming from RAM. Also, check the blog article [https://web.archive.org/web/20230502010825/https://01.org/blogs/rzhang/2015/best-practice-debug-linux-suspend/hibernate-issues best practices to debug suspend issues].<br />
<br />
Moving from the [[ATI]] video driver to the newer [[AMDGPU]] driver could also help to make the hibernation and awakening process successful.<br />
<br />
For [[NVIDIA]] users, [[blacklisting]] the module {{ic|nvidiafb}} might help. [https://bbs.archlinux.org/viewtopic.php?id=234646]<br />
<br />
Laptops with an Intel CPU that load the {{ic|intel_lpss_pci}} module for a touchpad may face kernel panic on resume (blinking caps lock) [https://bbs.archlinux.org/viewtopic.php?id=231881]. The module needs to be added to [[initramfs]] as:<br />
<br />
{{hc|/etc/mkinitcpio.conf|2=<br />
MODULES=(... intel_lpss_pci ...)<br />
}}<br />
<br />
Then [[regenerate the initramfs]].<br />
<br />
=== Wake-on-LAN ===<br />
<br />
If [[Wake-on-LAN]] is active, the network interface card will consume power even if the computer is hibernated.<br />
<br />
=== Instantaneous wakeups from suspend ===<br />
<br />
See [[Wakeup triggers#Instantaneous wakeups from suspend]].<br />
<br />
If you are using Linux kernel 6.1 and above on an AMD CPU, this can also be caused by [https://gitlab.freedesktop.org/drm/amd/-/issues/2357 an S3-related control policy issue in the kernel]. A temporary solution would be turning off wakeup on related i2c devices. You can find them by<br />
<br />
$ ls /sys/bus/i2c/devices/*/power/wakeup<br />
<br />
And the format of the device name should be {{ic|i2c-ELAN0679:00}} or {{ic|i2c-MSFT0001:00}}. Then, test if the below command can enter suspend:<br />
<br />
# echo disabled > /sys/bus/i2c/devices/''device_name''/power/wakeup<br />
# systemctl suspend<br />
<br />
If it works, you can persist this config by adding udev rules:<br />
<br />
{{hc|/etc/udev/rules.d/99-avoid-i2c-wakeup.rules|2=KERNEL=="''device_name''", SUBSYSTEM=="i2c", ATTR{power/wakeup}="disabled"}}<br />
<br />
=== System does not power off when hibernating ===<br />
<br />
When you hibernate your system, the system should power off (after saving the state on the disk). Sometimes, you might see the power LED is still glowing. If that happens, it might be instructive to set the {{ic|HibernateMode}} to {{ic|shutdown}} in {{man|5|sleep.conf.d}}:<br />
<br />
{{hc|/etc/systemd/sleep.conf.d/hibernatemode.conf|2=<br />
[Sleep]<br />
HibernateMode=shutdown<br />
}}<br />
<br />
With the above configuration, if everything else is set up correctly, on invocation of a {{ic|systemctl hibernate}} the machine will shut down, saving state to disk as it does so.<br />
<br />
=== Operating system not found (or wrong OS booting) when booting after hibernation ===<br />
<br />
This can happen when the boot disk is an external disk, and seems to be caused by a BIOS/firmware limitation. The BIOS/firmware tries to boot from an internal disk, while hibernation was done from an OS on an external (or other) disk.<br />
<br />
Set {{ic|1=HibernateMode=shutdown}} as shown in [[#System does not power off when hibernating]] to solve the problem permanently. If you have already locked yourself out, you can try rebooting your system 4 times (wait for the error to appear each time), which on some BIOS'es forces a normal boot procedure.<br />
<br />
=== NVME issues (i.e. can't mount rootfs) on wakeups from Suspend ===<br />
<br />
You you have problems with boot booting after Suspend from NVME disk, try to add:<br />
{{hc|/etc/default/grub|2=<br />
...<br />
GRUB_CMDLINE_LINUX_DEFAULT = ... ibt=off mem_sleep_default=s2idle nvme_core.default_ps_max_latency_us=0<br />
}} to kernel boot parameter. More info [https://gist.github.com/Toliak/86340b839b45f2c6fa4337ba6d8e971b here], [https://askubuntu.com/questions/1444375/huawei-matebook-d-16-with-ubuntu-22-04-wakes-up-from-suspend-improperly here] and [https://forum.manjaro.org/t/huawei-d16-suspend-to-sleep/144801/4 here].</div>
Zyamilon
https://wiki.archlinux.org/index.php?title=Power_management/Suspend_and_hibernate&diff=795744
Power management/Suspend and hibernate
2024-01-01T08:53:00Z
<p>Zyamilon: +NVME issues (i.e. can't mount rootfs) when booting after Suspend</p>
<hr />
<div>[[Category:Power management]]<br />
[[de:Bereitschaft und Ruhezustand]]<br />
[[es:Power management (Español)/Suspend and hibernate]]<br />
[[ja:電源管理/サスペンドとハイバネート]]<br />
[[pt:Power management (Português)/Suspend and hibernate]]<br />
[[ru:Power management (Русский)/Suspend and hibernate]]<br />
[[zh-hans:Power management/Suspend and hibernate]]<br />
{{Related articles start}}<br />
{{Related|Uswsusp}}<br />
{{Related|systemd}}<br />
{{Related|Power management}}<br />
{{Related|Wakeup triggers}}<br />
{{Related|swap}}<br />
{{Related articles end}}<br />
<br />
There are [https://docs.kernel.org/admin-guide/pm/sleep-states.html multiple methods] of suspending available, notably:<br />
<br />
; Suspend to idle: Called [https://www.intel.com/content/www/us/en/docs/vtune-profiler/user-guide/2023-0/s0ix-states.html S0ix] by Intel, [https://docs.microsoft.com/en-us/windows-hardware/design/device-experiences/modern-standby Modern Standby] (previously "Connected Standby") by Microsoft and [https://docs.kernel.org/admin-guide/pm/sleep-states.html#suspend-to-idle S2Idle] by the kernel. Designed to be used instead of the '''S3''' [[Wikipedia:ACPI#Global states|sleeping state]] for supported systems, by providing identical energy savings but a drastically reduced wake-up time. {{Tip|While this state is subject to battery drain issues on [https://www.dell.com/support/kbdoc/en-us/000143524/the-battery-drains-quicker-than-expected-on-a-dell-notebook-with-modern-standby-mode-enabled Windows] or [https://support.apple.com/guide/mac-help/mh40773/mac macOS] since they support waking devices in this state for network activity, the Linux software ecosystem does not currently make use of this feature and should be unaffected.}}<br />
; Suspend to RAM (aka suspend, aka sleep): The '''S3''' sleeping state as defined by ACPI. Works by cutting off power to most parts of the machine aside from the RAM, which is required to restore the machine's state. Because of the large power savings, it is advisable for laptops to automatically enter this mode when the computer is running on batteries and the lid is closed (or the user is inactive for some time).<br />
; Suspend to disk (aka hibernate): The '''S4''' sleeping state as defined by ACPI. Saves the machine's state into [[swap space]] and completely powers off the machine. When the machine is powered on, the state is restored. Until then, there is [[Wikipedia:Standby power|zero]] power consumption.<br />
; Hybrid suspend (aka hybrid sleep): A hybrid of suspending and hibernating, sometimes called '''suspend to both'''. Saves the machine's state into swap space, but does not power off the machine. Instead, it invokes the default suspend. Therefore, if the battery is not depleted, the system can resume instantly. If the battery is depleted, the system can be resumed from disk, which is much slower than resuming from RAM, but the machine's state has not been lost.<br />
<br />
There are multiple low level interfaces (backends) providing basic functionality, and some high level interfaces providing tweaks to handle problematic hardware drivers/kernel modules (e.g. video card re-initialization).<br />
<br />
== Low level interfaces ==<br />
<br />
Though these interfaces can be used directly, it is advisable to use the [[#High level interfaces|high level interfaces]] to suspend/hibernate. Using low level interfaces directly is significantly faster than using any high level interface, since running all the pre- and post-suspend hooks takes time, but hooks can properly set the hardware clock, restore wireless, etc.<br />
<br />
=== Kernel (swsusp) ===<br />
<br />
The most straightforward approach is to directly inform the in-kernel software suspend code (swsusp) to enter a suspended state; the exact method and state depends on the level of hardware support. On modern kernels, writing appropriate strings to {{ic|/sys/power/state}} is the primary mechanism to trigger this suspend.<br />
<br />
See [https://docs.kernel.org/admin-guide/pm/sleep-states.html#basic-sysfs-interfaces-for-system-suspend-and-hibernation kernel documentation] for details.<br />
<br />
=== Userspace (uswsusp) ===<br />
<br />
The uswsusp ('Userspace Software Suspend') tools provide wrappers around the kernel's suspend-to-RAM mechanism, which perform some graphics adapter manipulations from userspace before suspending and after resuming. See main article [[Uswsusp]].<br />
<br />
{{Note|Project has not received updates since 2011.}}<br />
<br />
== High level interfaces ==<br />
<br />
The goal of these packages is to provide binaries/scripts that can be invoked to perform suspend/hibernate. Actually hooking them up to power buttons or menu clicks or laptop lid events is usually left to other tools. To automatically suspend/hibernate on certain power events, such as laptop lid close or battery depletion percentage, you may want to look into running [[Acpid]].<br />
<br />
=== systemd ===<br />
<br />
[[systemd]] provides native commands for suspend, hibernate and a hybrid suspend; see [[Power management#Power management]] for details. This is the default interface used in Arch Linux.<br />
<br />
See [[Power management#Sleep hooks]] for additional information on configuring suspend/hibernate hooks. Also see {{man|1|systemctl}}, {{man|8|systemd-sleep}}, and {{man|7|systemd.special}}.<br />
<br />
== Changing suspend method ==<br />
<br />
On systems where S0ix suspension does not provide the same energy savings as the regular S3 sleep, or when conserving energy is preferred to a quick resume time, changing the default suspend method is possible.<br />
<br />
{{Tip|S0ix is supposed to provide identical or better energy savings as S3 sleep. See Intel blog posts [https://web.archive.org/web/20230614200816/https://01.org/blogs/qwang59/2018/how-achieve-s0ix-states-linux How to achieve S0ix states in Linux], [https://web.archive.org/web/20230614200306/https://01.org/blogs/qwang59/2020/linux-s0ix-troubleshooting Linux S0ix Troubleshooting] and [https://web.archive.org/web/20230503102522/https://01.org/blogs/thac0/2019/idling-efficiently-linux-case-study Idling Efficiently on Linux: A Case Study] to check if you can make it work as intended. Users on Intel systems can use [https://github.com/intel/S0ixSelftestTool S0ixSelftestTool].}}<br />
<br />
Run the following command to see all suspend methods hardware advertises support for (current method is shown in square brackets[https://docs.kernel.org/admin-guide/pm/sleep-states.html#basic-sysfs-interfaces-for-system-suspend-and-hibernation]):<br />
<br />
{{hc|$ cat /sys/power/mem_sleep|<br />
[s2idle] shallow deep<br />
}}<br />
<br />
If your hardware does not advertise the {{ic|deep}} sleep status, check first if your UEFI advertises some settings for it, generally under ''Power'' or ''Sleep state'' or similar wording, with options named ''Windows 10'', ''Windows and Linux'' or ''S3/Modern standby support'' for S0ix, and ''Legacy'', ''Linux'', ''Linux S3'' or ''S3 enabled'' for S3 sleep. Failing that, you can keep using {{ic|s2idle}}, consider using [[hibernation]] or try to patch the [[DSDT]] tables (or find a patched version online). <br />
<br />
{{Note|This last solution is likely going to cause issues. Manufacturers have stopped fixing bugs with the ACPI S3 state since systems shipping with Windows are encouraged to use "Modern standby" by default; if they have voluntarily not advertised it, it is probably broken in some way.}}<br />
<br />
Confirm that your hardware does not exhibit issues with S3 sleep by testing a few sleep cycles after changing the sleep method: <br />
<br />
# echo "deep" > /sys/power/mem_sleep<br />
<br />
If no issues have been found, you can make the change permanent with the {{ic|1=mem_sleep_default=deep}} [[kernel parameter]].<br />
<br />
In some opposite situations, faulty firmware advertises support for {{ic|deep}} sleep, while only {{ic|s2idle}} is supported. In this case, an alternative method for using {{ic|s2idle}} is available through the {{ic|SuspendState}} in {{man|5|sleep.conf.d}}:<br />
<br />
{{hc|/etc/systemd/sleep.conf.d/freeze.conf|2=<br />
[Sleep]<br />
SuspendState=freeze<br />
}}<br />
<br />
== Hibernation ==<br />
<br />
In order to use hibernation, you must create a [[swap]] partition or file, and point the kernel to your swap using the {{ic|1=resume=}} kernel parameter. You will also need to [[#Configure the initramfs|configure the initramfs]] so that the kernel will attempt to resume from the specified swap in early userspace. These three steps are described in detail below.<br />
<br />
{{Note|<br />
* See [[Dm-crypt/Swap encryption#With suspend-to-disk support]] when using [[encryption]].<br />
* {{Pkg|linux-hardened}} does not support hibernation, see {{Bug|63648}}.<br />
* Hibernating to [[zram#Usage as swap|swap on zram]] is not supported, even when zram is configured with a backing device on permanent storage. ''logind'' will protect against trying to hibernate to a swap space on zram.<br />
}}<br />
<br />
=== About swap partition/file size ===<br />
<br />
Even if your swap partition is smaller than RAM, you still have a good chance of hibernating successfully. See "image_size" in the [https://docs.kernel.org/admin-guide/pm/sleep-states.html?highlight=image_size#basic-sysfs-interfaces-for-system-suspend-and-hibernation kernel documentation] for information on the {{ic|image_size}} {{man|5|sysfs}} pseudo-file.<br />
<br />
You may either decrease the value of {{ic|/sys/power/image_size}} to make the suspend image as small as possible (for small swap partitions), or increase it to possibly speed up the hibernation process. For systems with a large amount of RAM, smaller values may drastically increase the speed of resuming a hibernating system. [[systemd#systemd-tmpfiles - temporary files]] can be used to make this change persistent:<br />
<br />
{{hc|/etc/tmpfiles.d/hibernation_image_size.conf|<br />
# Path Mode UID GID Age Argument<br />
w /sys/power/image_size - - - - 0<br />
}}<br />
<br />
The suspend image cannot span multiple swap partitions and/or swap files. It must fully fit in one swap partition or one swap file.[https://docs.kernel.org/power/swsusp.html]<br />
<br />
=== Configure the initramfs ===<br />
<br />
* When using a busybox-based [[initramfs]], which is the default, the {{ic|resume}} hook is required in {{ic|/etc/mkinitcpio.conf}}. Whether by label or by UUID, the swap partition is referred to with a udev device node, so the {{ic|resume}} hook must go ''after'' the {{ic|udev}} hook. This example was made starting from the default hook configuration:<br />
<br />
:{{bc|1=HOOKS=(base udev autodetect modconf kms keyboard keymap consolefont block filesystems '''resume''' fsck)}}<br />
<br />
:Remember to [[regenerate the initramfs]] for these changes to take effect.<br />
<br />
:{{Note|[[LVM]] users should add the {{ic|resume}} hook after {{ic|lvm2}}.}}<br />
<br />
* When an initramfs with the {{ic|systemd}} hook is used, a resume mechanism is already provided, and no further hooks need to be added.<br />
<br />
=== Required kernel parameters ===<br />
<br />
{{Expansion|1=With {{Pkg|systemd}} >= 255, it is no longer necessary to manually configure {{ic|1=resume=}} kernel parameter when the system is running on EFI and a systemd-based [[initramfs]] is used. [https://github.com/systemd/systemd/blob/v255-rc2/NEWS#L1327-L1331]}}<br />
<br />
The [[kernel parameter]] {{ic|1=resume=''swap_device''}} must be used. Any of the [[persistent block device naming]] methods can be used as {{ic|''swap_device''}}. For example:<br />
<br />
* {{ic|1=resume=UUID=4209c845-f495-4c43-8a03-5363dd433153}}<br />
* {{ic|1=resume="PARTLABEL=Swap partition"}}<br />
* {{ic|1=resume=/dev/archVolumeGroup/archLogicalVolume}} -- if swap is on a [[LVM]] logical volume (UUID and Label should also work)<br />
<br />
The kernel parameters will only take effect after rebooting. To hibernate right away, obtain the volume's major and minor device numbers from [[lsblk]] and echo them in format {{ic|''major'':''minor''}} to {{ic|/sys/power/resume}}. If using a swap file, additionally echo the resume offset to {{ic|/sys/power/resume_offset}}. [https://docs.kernel.org/power/swsusp.html]<br />
<br />
For example, if the swap device is {{ic|8:3}}:<br />
<br />
# echo 8:3 > /sys/power/resume<br />
<br />
Or when hibernating to a swap file, if the swap file is on volume {{ic|8:2}} and has the offset {{ic|38912}}:<br />
<br />
# echo 8:2 > /sys/power/resume<br />
# echo 38912 > /sys/power/resume_offset<br />
<br />
==== Hibernation into swap file ====<br />
<br />
Using a [[swap file]] requires also setting the {{ic|1=resume=UUID=''swap_device_uuid''}} and additionally a {{ic|1=resume_offset=''swap_file_offset''}} [[kernel parameters]]. See [https://docs.kernel.org/power/swsusp-and-swap-files.html the kernel documentation].<br />
<br />
{{ic|''swap_device''}} is the volume where the swap file resides and it follows the same format as for the [[Persistent block device naming#Kernel parameters|root parameter]].<br />
<br />
On file systems other than Btrfs, the value of {{ic|''swap_file_offset''}} can be obtained by running {{ic|filefrag -v ''swap_file''}}. The output is in a table format and the required value is in the first row of the {{ic|physical_offset}} column. <br />
<br />
For example:<br />
<br />
{{hc|# filefrag -v /swapfile|<br />
Filesystem type is: ef53<br />
File size of /swapfile is 4294967296 (1048576 blocks of 4096 bytes)<br />
ext: logical_offset: physical_offset: length: expected: flags:<br />
0: 0.. 0: '''38912'''.. 38912: 1: <br />
1: 1.. 22527: 38913.. 61439: 22527: unwritten<br />
2: 22528.. 53247: 899072.. 929791: 30720: 61440: unwritten<br />
...<br />
}}<br />
<br />
In the example the value of {{ic|''swap_file_offset''}} is the first {{ic|38912}} with the two periods and the kernel parameter would be {{ic|resume_offset{{=}}38912}}.<br />
<br />
For [[Btrfs]], do not try to use the ''filefrag'' tool, since the "physical" offset you get from ''filefrag'' is not the real physical offset on disk; there is a virtual disk address space in order to support multiple devices.[https://bugzilla.kernel.org/show_bug.cgi?id=202803] Instead, use the {{man|8|btrfs-inspect-internal}} command. E.g.:<br />
<br />
{{hc|# btrfs inspect-internal map-swapfile -r /swap/swapfile|<br />
198122980<br />
}}<br />
<br />
In this example, {{ic|''swap_file_offset''}} is {{ic|198122980}} and the kernel parameter would be {{ic|resume_offset{{=}}198122980}}<br />
<br />
{{Tip|<br />
* The following command may be used to identify {{ic|''swap_device_uuid''}}: {{ic|1=findmnt -no UUID -T /swapfile}}<br />
* The following command may be used to identify {{ic|''swap_file_offset''}} on file systems other than Btrfs: {{ic|1=filefrag -v /swapfile {{!}} awk '$1=="0:" {print substr($4, 1, length($4)-2)}'}}<br />
* The value of {{ic|''swap_file_offset''}} can also be obtained by running {{ic|swap-offset ''swap_file''}}. The ''swap-offset'' binary is provided within the set of tools [[uswsusp]]. If using this method, then these two parameters have to be provided in {{ic|/etc/suspend.conf}} via the keys {{ic|resume device}} and {{ic|resume offset}}. No reboot is required in this case.<br />
}}<br />
<br />
{{Note|<br />
* For a stacked block device such as an encrypted container (LUKS), RAID or LVM, the {{ic|resume}} parameter must point to the unlocked/mapped device that contains the file system with the swap file.<br />
* If the swap file is in {{ic|/home/}}, ''systemd-logind'' will not be able to determine its size and thus will prevent hibernation with the following message: {{ic|Failed to hibernate system via logind: Not enough swap space for hibernation}}. See [https://github.com/systemd/systemd/issues/15354 systemd issue 15354] for two workarounds.<br />
}}<br />
<br />
{{Tip|You might want to decrease the [[swappiness]] for your swap file if the only purpose is to be able to hibernate, not to expand RAM.}}<br />
<br />
==== Hibernation into a thinly-provisioned LVM volume ====<br />
<br />
Hibernation into a thinly-provisioned [[LVM]] volume is possible, but you have to make sure that the volume is fully allocated. Otherwise resuming from it will fail, see {{Bug|50703}}.<br />
<br />
You can fully allocate the LVM volume by simply filling it with zeros. E.g.:<br />
<br />
# dd if=/dev/zero of=/dev/vg0/swap bs=1M status=progress<br />
<br />
To verify the volume is fully allocated, you can use:<br />
<br />
{{hc|# lvs|<br />
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert<br />
swap vg0 Vwi-aot--- 10.00g pool 100<br />
}}<br />
<br />
A fully allocated volume will show up as having 100% data usage.<br />
<br />
{{Warning|Do not to use [[TRIM]] on thinly-provisioned swap volumes that are used for hibernation, i.e. do not use {{ic|discard}} in {{ic|/etc/fstab}} and the {{ic|-d}}/{{ic|--discard}} option of ''swapon''. Otherwise the used space will be deallocated.}}<br />
<br />
== Intel Rapid Start Technology (IRST) ==<br />
<br />
Intel Rapid Start Technology is a firmware method of hibernation that allows hibernating from sleep after a predefined interval or according to battery state. This should be faster and more reliable than regular hibernation as it is done by firmware instead of at the operating system level. Generally it must enabled in the firmware, and the firmware also provides support for setting the duration after suspend/battery event triggering hibernation. However, some devices–despite supporting IRST in the firmware–only allow it to be configured via Intel's Windows drivers. In such cases the intel-rst kernel module described below should be able to configure the events under Linux.<br />
<br />
With Intel Rapid Start Technology (IRST) enabled, resuming from a deep sleep takes "[https://mjg59.dreamwidth.org/26022.html a few seconds longer than resuming from S3 but is far faster than resuming from hibernation]".<br />
<br />
Many Intel-based systems have firmware support for IRST but require a special partition on an SSD (rather than an HDD). OEM deployments of Windows may have a pre-existing IRST partition which can be retained during the Arch Linux installation process (rather than wiping and re-partitioning the whole SSD). It should show up as an unformatted partition equal in size to the system's RAM.<br />
<br />
{{Warning|The Intel Rapid Start partition is not encrypted; "Intel recommends disabling Intel Rapid Start Technology if you are using software-based disk encryption".[https://www.intel.com/content/www/us/en/support/articles/000024080/technologies.html]}}<br />
<br />
If you intend to wipe and re-partition the whole drive (or have already done so), then the IRST partition must be recreated if you also plan on using the technology. This can be done by creating an empty partition equal in size to the system's RAM and by setting its partition type to [[Wikipedia:GUID Partition Table#Partition type GUIDs|GUID]] {{ic|D3BFE2DE-3DAF-11DF-BA40-E3A556D89593}} for a [[GPT]] partition or [[Wikipedia:Partition type|ID]] {{ic|0x84}} for an [[MBR]] partition. You may also need to enable support for IRST in your system's firmware settings.<br />
<br />
{{Tip|The duration of time before IRST kicks in (after suspending) can be adjusted in the system's firmware settings.}}<br />
<br />
The duration of the IRST hibernation process (i.e., copying the "entire contents of RAM to a special partition") is dependent on the system's RAM size and SSD speed and can thus take 20–60 seconds. Some systems may indicate the process's completion with an LED indicator, e.g., when it stops blinking.<br />
<br />
Configuring IRST hibernation events in the Linux kernel requires {{ic|CONFIG_INTEL_RST}} built-in or as a module. Once loaded via {{ic|modprobe intel_rst}}, it should create the files {{ic|wakeup_events}} and {{ic|wakeup_time}} under {{ic|/sys/bus/acpi/drivers/intel_rapid_start/*/}} that can be used for further configuration. This module is tersely documented, see the source [https://github.com/torvalds/linux/blob/143a6252e1b8ab424b4b293512a97cca7295c182/drivers/platform/x86/intel/rst.c drivers/platform/x86/intel/rst.c] for more details.<br />
<br />
See also the [https://www.intel.com/content/www/us/en/support/articles/000024078/technologies.html general Q&A] and [https://www.intel.com/content/www/us/en/support/articles/000024273/technologies/intel-vpro-platform.html?wapkw=user%20guide%20Intel%20rapid%20start%20 user guides] for Intel Rapid Start Technology.<br />
<br />
== Troubleshooting ==<br />
<br />
=== ACPI_OS_NAME ===<br />
<br />
You might want to tweak your '''DSDT table''' to make it work. See [[DSDT]].<br />
<br />
=== Suspend/hibernate does not work, or does not work consistently ===<br />
<br />
There have been many reports about the screen going black without easily viewable errors or the ability to do anything when going into and coming back from suspend and/or hibernate. These problems have been seen on both laptops and desktops. This is not an official solution, but switching to an older kernel, especially the LTS-kernel, will probably fix this.<br />
<br />
A problem may arise when using the hardware watchdog timer (disabled by default, see {{ic|1=RuntimeWatchdogSec=}} in {{man|5|systemd-system.conf|OPTIONS}}). A buggy watchdog timer may reset the computer before the system finishes creating the hibernation image.<br />
<br />
Sometimes the screen goes black due to device initialization from within the initramfs. Removing any modules you might have in [[Mkinitcpio#MODULES]], removing the {{ic|kms}} hook and rebuilding the initramfs can possibly solve this issue, in particular with graphics drivers for [[Kernel mode setting#Early KMS start|early KMS]]. Initializing such devices before resuming can cause inconsistencies that prevents the system resuming from hibernation. This does not affect resuming from RAM. Also, check the blog article [https://web.archive.org/web/20230502010825/https://01.org/blogs/rzhang/2015/best-practice-debug-linux-suspend/hibernate-issues best practices to debug suspend issues].<br />
<br />
Moving from the [[ATI]] video driver to the newer [[AMDGPU]] driver could also help to make the hibernation and awakening process successful.<br />
<br />
For [[NVIDIA]] users, [[blacklisting]] the module {{ic|nvidiafb}} might help. [https://bbs.archlinux.org/viewtopic.php?id=234646]<br />
<br />
Laptops with an Intel CPU that load the {{ic|intel_lpss_pci}} module for a touchpad may face kernel panic on resume (blinking caps lock) [https://bbs.archlinux.org/viewtopic.php?id=231881]. The module needs to be added to [[initramfs]] as:<br />
<br />
{{hc|/etc/mkinitcpio.conf|2=<br />
MODULES=(... intel_lpss_pci ...)<br />
}}<br />
<br />
Then [[regenerate the initramfs]].<br />
<br />
=== Wake-on-LAN ===<br />
<br />
If [[Wake-on-LAN]] is active, the network interface card will consume power even if the computer is hibernated.<br />
<br />
=== Instantaneous wakeups from suspend ===<br />
<br />
See [[Wakeup triggers#Instantaneous wakeups from suspend]].<br />
<br />
If you are using Linux kernel 6.1 and above on an AMD CPU, this can also be caused by [https://gitlab.freedesktop.org/drm/amd/-/issues/2357 an S3-related control policy issue in the kernel]. A temporary solution would be turning off wakeup on related i2c devices. You can find them by<br />
<br />
$ ls /sys/bus/i2c/devices/*/power/wakeup<br />
<br />
And the format of the device name should be {{ic|i2c-ELAN0679:00}} or {{ic|i2c-MSFT0001:00}}. Then, test if the below command can enter suspend:<br />
<br />
# echo disabled > /sys/bus/i2c/devices/''device_name''/power/wakeup<br />
# systemctl suspend<br />
<br />
If it works, you can persist this config by adding udev rules:<br />
<br />
{{hc|/etc/udev/rules.d/99-avoid-i2c-wakeup.rules|2=KERNEL=="''device_name''", SUBSYSTEM=="i2c", ATTR{power/wakeup}="disabled"}}<br />
<br />
=== System does not power off when hibernating ===<br />
<br />
When you hibernate your system, the system should power off (after saving the state on the disk). Sometimes, you might see the power LED is still glowing. If that happens, it might be instructive to set the {{ic|HibernateMode}} to {{ic|shutdown}} in {{man|5|sleep.conf.d}}:<br />
<br />
{{hc|/etc/systemd/sleep.conf.d/hibernatemode.conf|2=<br />
[Sleep]<br />
HibernateMode=shutdown<br />
}}<br />
<br />
With the above configuration, if everything else is set up correctly, on invocation of a {{ic|systemctl hibernate}} the machine will shut down, saving state to disk as it does so.<br />
<br />
=== Operating system not found (or wrong OS booting) when booting after hibernation ===<br />
<br />
This can happen when the boot disk is an external disk, and seems to be caused by a BIOS/firmware limitation. The BIOS/firmware tries to boot from an internal disk, while hibernation was done from an OS on an external (or other) disk.<br />
<br />
Set {{ic|1=HibernateMode=shutdown}} as shown in [[#System does not power off when hibernating]] to solve the problem permanently. If you have already locked yourself out, you can try rebooting your system 4 times (wait for the error to appear each time), which on some BIOS'es forces a normal boot procedure.<br />
<br />
=== NVME issues (i.e. can't mount rootfs) when booting after Suspend ===<br />
<br />
You you have problems with boot booting after Suspend from NVME disk, try to add:<br />
{{hc|/etc/default/grub|2=<br />
...<br />
GRUB_CMDLINE_LINUX_DEFAULT = ... ibt=off mem_sleep_default=s2idle nvme_core.default_ps_max_latency_us=0<br />
}} to kernel boot parameter. More info [https://gist.github.com/Toliak/86340b839b45f2c6fa4337ba6d8e971b here], [https://askubuntu.com/questions/1444375/huawei-matebook-d-16-with-ubuntu-22-04-wakes-up-from-suspend-improperly here] and [https://forum.manjaro.org/t/huawei-d16-suspend-to-sleep/144801/4 here].</div>
Zyamilon
https://wiki.archlinux.org/index.php?title=Steam&diff=795743
Steam
2024-01-01T08:36:29Z
<p>Zyamilon: /* Steam Flatpak start (run) issues */ new line removed</p>
<hr />
<div>[[Category:Gaming]]<br />
[[de:Steam]]<br />
[[fi:Steam]]<br />
[[ja:Steam]]<br />
[[pt:Steam]]<br />
[[ru:Steam]]<br />
[[zh-hans:Steam]]<br />
{{Related articles start}}<br />
{{Related|Steam/Troubleshooting}}<br />
{{Related|Steam/Game-specific troubleshooting}}<br />
{{Related|Gaming}}<br />
{{Related|Gamepad}}<br />
{{Related|List of games}}<br />
{{Related|Gamescope}}<br />
{{Related articles end}}<br />
<br />
[https://store.steampowered.com/about/ Steam] is a popular game distribution platform by Valve.<br />
<br />
{{Note|Steam for Linux only supports Ubuntu LTS.[https://help.steampowered.com/en/faqs/view/1114-3F74-0B8A-B784] Thus, do not turn to Valve for support for issues with Steam on Arch Linux.}}<br />
<br />
== Installation ==<br />
<br />
Enable the [[multilib]] repository and [[install]] the {{Pkg|steam}} (recommended) or alternatively the {{Pkg|steam-native-runtime}} package for running Steam with native system libraries. See [[/Troubleshooting#Steam runtime]].<br />
<br />
{{Note|If you are installing for the first time, you may be prompted for the 32-bit [[Vulkan]] driver package. By default [[pacman]] alphabetically chooses {{Pkg|lib32-amdvlk}}, which can introduce issues like being unable to use Vulkan at all when you install it by accident for different GPU vendor or launch games on AMD GPUs if not installed alongside {{Pkg|amdvlk}}. See [[Vulkan#Installation]] to choose the proper driver for your GPU.}}<br />
<br />
In order to run Steam on Arch Linux:<br />
<br />
* You must install the 32-bit version of the [[Xorg#Driver installation|OpenGL graphics driver]].<br />
* If not already done [[Installation guide#Localization|during installation]], you must [[Locale#Generating locales|generate the en_US.UTF-8 locale]] to preventing invalid pointer errors.<br />
* Since the GUI heavily uses the Arial font, you should either:<br />
** Use a free alternative such as {{Pkg|ttf-liberation}}.<br />
** Follow [[Microsoft fonts]] to install the original fonts.<br />
** Apply the workaround at [[Steam/Troubleshooting#Text is corrupt or missing]] to use a different font face.<br />
* If you need CJK support, [[install]] {{Pkg|wqy-zenhei}}.<br />
* If using [[systemd-networkd]] for network management, [[install]] {{Pkg|lib32-systemd}} in order for Steam to be able to connect to its servers.<br />
* If using [[systemd-resolved]] for DNS, follow [[systemd-resolved#DNS|the steps]] to fix {{ic|/etc/resolv.conf}} in order for Steam to be able to resolve hostnames.<br />
* If using the Big Picture Mode (Steam Deck UI), [[NetworkManager]] may be required for the network-related panels to work correctly.<br />
<br />
=== SteamCMD ===<br />
<br />
[[Install]] {{AUR|steamcmd}} for [https://developer.valvesoftware.com/wiki/SteamCMD the command-line version of Steam].<br />
<br />
== Directory structure ==<br />
<br />
The default Steam install location is {{ic|~/.local/share/Steam}}. If Steam cannot find it, it will prompt you to reinstall it or select the new location. This article uses the {{ic|~/.steam/root}} symlink to refer to the install location.<br />
<br />
=== Library folders ===<br />
<br />
Every Steam application has a unique AppID, which you can find by either looking at its [https://store.steampowered.com/ Steam Store] page path or visiting [https://steamdb.info/ SteamDB]. <br />
<br />
Steam installs games into a directory under {{ic|''LIBRARY''/steamapps/common/}}. {{ic|''LIBRARY''}} normally is <br />
{{ic|~/.steam/root}} but you can also have multiple library folders (''Steam > Settings > Downloads > Steam Library Folders'').<br />
<br />
In order for Steam to recognize a game it needs to have an<br />
{{ic|appmanifest_''AppId''.acf}} file in {{ic|''LIBRARY''/steamapps/}}. The appmanifest file uses the <br />
[https://developer.valvesoftware.com/wiki/KeyValues KeyValues] format and its {{ic|installdir}} property<br />
determines the game directory name.<br />
<br />
{{Note|In order to add additional drives to a Steam installation made through flathub, the user must first give the Steam Client authorization to access the mount-point of the additional drive manually through a tool such as {{AUR|flatseal}}.}}<br />
<br />
== Usage ==<br />
<br />
steam [ -options ] [ steam:// URL ]<br />
<br />
For the available command-line options see the [https://developer.valvesoftware.com/wiki/Command_Line_Options#Steam_.28Windows.29 Command Line Options article on the Valve Developer Wiki].<br />
<br />
Steam also accepts an optional Steam URL, see the [https://developer.valvesoftware.com/wiki/Steam_browser_protocol Steam browser procotol].<br />
<br />
== Launch options ==<br />
<br />
When you launch a Steam game, Steam executes its '''launch command''' with {{ic|/bin/sh}}.<br />
To let you alter the launch command Steam provides '''launch options''',<br />
which can be set for a game by right-clicking on it in your library, selecting Properties and clicking on ''Set Launch Options''.<br />
<br />
By default Steam simply appends your option string to the launch command. To set environment variables or<br />
pass the launch command as an argument to another command you can use the {{ic|%command%}} substitute.<br />
<br />
=== Examples ===<br />
<br />
* only arguments: {{ic|-foo}}<br />
* environment variables: {{ic|1=FOO=bar BAZ=bar %command% -baz}}<br />
* completely different command: {{ic|othercommand # %command%}}<br />
<br />
== Tips and tricks ==<br />
<br />
=== Start Minimized ===<br />
<br />
It is possible to have Steam start minimized to the system tray, rather than taking focus. Add {{ic|-silent}} to the list of command line arguments; see [[Desktop entries#Modify desktop files]] for doing this by default.<br />
<br />
=== Small Mode ===<br />
<br />
Steam supports an alternative, minimal UI with just your game list - the store, community and cover collection views are hidden. You can switch to it with ''View'' > ''Small Mode''. To go back to the standard UI, select ''View'' > ''Large Mode''.<br />
<br />
=== Proton Steam-Play ===<br />
<br />
Valve developed a compatibility tool for Steam Play based on Wine and additional components named [[w:Proton (software)|Proton]]. It allows you to launch many Windows games (see [https://www.protondb.com/ compatibility list]).<br />
<br />
It is open-source and available on [https://github.com/ValveSoftware/Proton/ GitHub]. Steam will install its own versions of Proton when Steam Play is enabled.<br />
<br />
Proton needs to be enabled on Steam client: ''Steam > Settings > Compatibility''. You can enable Steam Play for games that have and have not been whitelisted by Valve in that dialog.<br />
<br />
Proton supports ''E''asy ''A''nti ''C''heat integration if the developer activates it, however EAC may require a particular [https://github.com/ValveSoftware/Proton/issues/5214 patched version] of glibc: if a game is been reported to be working but is not in your machine, try using Steam Flatpak because it comes with glibc patched.<br />
<br />
==== Force Proton usage ====<br />
<br />
If needed, to force enable Proton or a specific version of Proton for a game, right click on the game, click ''Properties > Compatibility > Force the use of a specific Steam Play compatibility tool'', and select the desired version. Doing so can also be used to force games that have a Linux port to use the Windows version.<br />
<br />
==== Use Proton outside of Steam ====<br />
<br />
You can also [[install]] Proton from AUR with {{AUR|proton}} or {{AUR|proton-git}}, but extra setup is required for them to work with Steam. See the Proton GitHub for details on how Steam recognizes Proton installs.<br />
<br />
=== Steam Input ===<br />
<br />
When a controller is plugged in while Steam is running, Steam's default behavior is to leave it alone and let games use it as-is. The gamepad's evdev and joystick devices are exposed by the kernel, and games may use them using APIs such as [https://www.libsdl.org/ SDL2] as if Steam were not in the picture.<br />
<br />
The [https://partner.steamgames.com/doc/features/steam_controller Steam Input] subsystem offers an abstraction layer which allows for more advanced functionality such as rebinding buttons and axes, having game-specific profiles, and doing higher-level button mappings based on in-game actions. The [https://partner.steamgames.com/doc/features/steam_controller/concepts Steam Input Configurator] (SIC) is the part of the system that implements this functionality. To enable Steam Input for a controller, go to ''Steam'' > ''Settings'' > ''Controller'' > ''General Controller Setting''. [https://partner.steamgames.com/doc/features/steam_controller/getting_started_for_players] This will open a menu from the Big Picture settings, where you can enable the ''Configuration Support'' option corresponding to your controller.<br />
<br />
==== Steam Input Configurator ====<br />
<br />
When SIC is enabled for a controller, there are a few different controller devices:<br />
<br />
* The virtual Steam Controller, used by games that utilize the Steam Input API. All rebindings and Steam-specific features are functional.<br />
** This is not to be confused with the [https://store.steampowered.com/app/353370/Steam_Controller/ Valve Steam Controller], the physical controller.<br />
* An evdev device representing an emulated Xbox 360 controller, used by games that do not support Steam Input. Basic rebindings are in effect. [https://partner.steamgames.com/doc/features/steam_controller/steam_input_gamepad_emulation_bestpractices]<br />
* The original controller evdev device, whose inputs are passed through the SIC. Rebindings are not in effect, but games should be defaulting to the 360 controller instead.<br />
* The joystick analogues of the above two devices.<br />
<br />
The SIC's behavior is context dependent:<br />
<br />
* When launching a game that supports the Steam Input API, it is using the SIC in native mode. The game receives "actions" rather than raw inputs to handle.<br />
** This works for games running in Proton that would be using Steam Input on Windows.<br />
** Even though it's theoretically not needed, the emulated 360 controller is still present.<br />
** A game may choose to provide both support for the Steam Input, and traditional input API libraries that defer to evdev and joystick under the hood. When the game is launched with Steam and with SIC enabled for the controller, Steam Input takes higher priority.<br />
** A game can also choose to ''only'' support Steam Input. For example, in Among Us, a gamepad will not work unless you have the SIC running.<br />
* When launching a game that does not support Steam Input, it is (unknowingly) using the SIC in legacy mode. The game receives its expected low-level raw inputs from what seems to be a 360 controller, but they are actually spoofed by the SIC to emulate the desired behavior of native mode.<br />
** This is the case for native games that use evdev or joystick, as well as Windows games running through Proton that use DirectInput or XInput.<br />
* When launching a game that supports neither Steam Input nor other gamepad APIs, SIC can activate a profile that emulates gamepad support as described below.<br />
* When Big Picture has focus, the current Big Picture profile is in effect, configurable via ''Steam'' > ''Settings'' > ''Controller'' > ''Big Picture Configuration''.<br />
* When anything else has focus, the current Desktop profile is in effect, configurable via ''Steam'' > ''Settings'' > ''Controller'' > ''Desktop Configuration''.<br />
* When anything has focus, additional global bindings can be configured via ''Steam'' > ''Settings'' > ''Controller'' > ''Guide Button Chord Configuration''.<br />
<br />
Games are rated on how comprehensive their gamepad support is. A game can have one of three icons in the Big Picture UI: [https://steamcommunity.com/sharedfiles/filedetails/?id=192523320]<br />
<br />
* A full gamepad icon, indicating that the game has full controller support. This can be achieved even if the game does not use the Steam Input API; the focus is on accessibility regardless of API.<br />
* A half-filled gamepad icon, indicating that the game has partial gamepad support. Even if the game is using the Steam Input API, there are instances like Team Fortress 2 where certain parts are still inaccessible to warrant this rating.<br />
* A keyboard icon, indicating the game does not have native gamepad support.<br />
<br />
In cases where the game does not have full gamepad support, SIC tries to fill the gaps. For example, in Bloons Tower Defense 5, a game that requires you to point and click, Steam will automatically activate the ''Keyboard (WASD) and Mouse'' profile, allowing you to use your gamepad to move and click.<br />
<br />
==== Recommended Steam Input usage ====<br />
<br />
To summarize what this all means for usage:<br />
<br />
* Enabling "Configuration Support" in the Big Picture settings is ''recommended'' for enhanced gamepad support such as rebinding to one's liking, or automated fixes like Nintendo-style button remapping or keyboard/mouse.<br />
* For some games, enabling this is outright ''required'' if they do not support traditional gamepad APIs.<br />
* By default, if you have enabled this, then the controller will not work with non-Steam games because the 360 controller takes precedence over the original controller device, but the default Desktop profile has the buttons disabled. To fix this, you can either:<br />
** Set your Desktop profile to the template for ''Gamepad''. This will pass through the inputs to the 360 controller, making the default device usable for other programs.<br />
** Have the other game use the original device if it supports this. Note that the game will not benefit from any Steam Input rebindings.<br />
** Disable the whole feature for the controller so Steam does not create the 360 controller at all. Note that Steam games would then not benefit from the enhanced gamepad support.<br />
** Close Steam when using the other games.<br />
<br />
=== HiDPI ===<br />
<br />
See [[HiDPI#Steam]].<br />
<br />
=== Big Picture Mode without a window manager ===<br />
<br />
To start Steam in Big Picture Mode from a [[Display manager]], you can either:<br />
<br />
* [[Install]] {{AUR|steamos-compositor}}<br />
* Alternatively, install {{AUR|steamos-compositor-plus}}, which hides the annoying color flashing on startup of Proton games and adds a fix for games that start in the background<br />
* Manually add a Steam entry (''but you lose the steam compositor advantages: mainly you '''cannot''' control Big Picture mode with keyboard or gamepad''):<br />
<br />
create a {{ic|/usr/share/xsessions/steam-big-picture.desktop}} file with the following contents: <br />
<br />
{{hc|/usr/share/xsessions/steam-big-picture.desktop|<nowiki><br />
[Desktop Entry]<br />
Name=Steam Big Picture Mode<br />
Comment=Start Steam in Big Picture Mode<br />
Exec=/usr/bin/steam -bigpicture<br />
TryExec=/usr/bin/steam<br />
Icon=<br />
Type=Application</nowiki>}}<br />
<br />
=== Steam skins ===<br />
<br />
{{Note|A new Steam UI was released in June 2023. Skins not updated for this new UI will have no effect.}}<br />
<br />
The Steam interface can be customized using skins. Follow [https://steamcommunity.com/sharedfiles/filedetails/?id=3003438937 this Steam guide] for more information.<br />
<br />
Some skins updated for the 2023 UI are:<br />
<br />
* [https://github.com/tkashkin/Adwaita-for-Steam Adwaita for Steam]<br />
* [https://github.com/AikoMidori/SteamSkins Shiina's Steam Skins]<br />
* [https://github.com/yurisuika/Zehn Zehn]<br />
* More skins are available in the guide linked above.<br />
<br />
=== Changing the Steam notification position ===<br />
<br />
The default Steam notification position is bottom right.<br />
<br />
You can change the Steam notification position by altering {{ic|Notifications.PanelPosition}} in<br />
<br />
* {{ic|resource/styles/steam.styles}} for desktop notifications, and<br />
* {{ic|resource/styles/gameoverlay.styles}} for in-game notifications<br />
<br />
Both files are overwritten by Steam on startup and {{ic|steam.styles}} is only read on startup.<br />
<br />
{{Note|Some games do not respect the setting in {{ic|gameoverlay.styles}} e.g. XCOM: Enemy Unknown.}}<br />
<br />
==== Use a skin ====<br />
<br />
You can create a skin to change the notification position to your liking. For example to change the position to top right:<br />
<br />
$ cd ~/.steam/root/skins<br />
$ mkdir -p Top-Right/resource<br />
$ cp -r ~/.steam/root/resource/styles Top-Right/resource<br />
$ sed -i '/Notifications.PanelPosition/ s/"[A-Za-z]*"/"TopRight"/' Top-Right/resource/styles/*<br />
<br />
==== Live patching ====<br />
<br />
{{ic|gameoverlay.styles}} can be overwritten while Steam is running, allowing you to have game-specific notification positions.<br />
<br />
{{hc|~/.steam/notifpos.sh|<br />
sed -i "/Notifications.PanelPosition/ s/\"[A-Za-z]*\"/\"$1\"/" ~/.steam/root/resource/styles/gameoverlay.styles<br />
}}<br />
<br />
And the [[#Launch options]] should be something like:<br />
<br />
~/.steam/notifpos.sh TopLeft && %command%<br />
<br />
=== Steam Remote Play ===<br />
<br />
{{Note|Steam In-Home Streaming [https://store.steampowered.com/news/51761/ has become Steam Remote Play].}}<br />
<br />
Steam has built-in support for [https://store.steampowered.com/streaming/ remote play].<br />
<br />
See [https://steamcommunity.com/sharedfiles/filedetails/?id=680514371 this Steam Community guide] on how to setup a headless streaming server on Linux.<br />
<br />
=== Sharing games with Windows when using Proton ===<br />
<br />
If you use Proton (Steam Play) for launching your games, and still keep a Windows installation for some reason (for example, if some game has problems with anti cheat or if you want to make a comparison tests with Windows), you may want to store your games in a common partition instead of keeping two copies of game one per OS.<br />
<br />
To add another folder for library, click on ''Steam > Settings > Downloads > STEAM LIBRARY FOLDERS'', then on the ''⊕ (Plus)'' button.<br />
<br />
There are three file systems, that can be read/write by both Windows and Linux.<br />
<br />
==== NTFS ====<br />
<br />
See https://github.com/ValveSoftware/Proton/wiki/Using-a-NTFS-disk-with-Linux-and-Windows for more information on how to configure that. To launch games from an NTFS drive, follow the steps from [[Steam/Troubleshooting#Steam Library in NTFS partition]].<br />
<br />
Using ntfs has disadvantages. It happens often that shaders cache folder becomes corrupted. Messages saying {{ic|1=ntfs3: sdb6 ino=1921f, steamapprun_pipeline_cache Looks like your dir is corrupt.}} You cannot fix that from linux. You need to boot to Windows and use chkdsk for that.<br />
<br />
==== EXFAT ====<br />
<br />
This FS has disadvantage that it is case-insensitive. You will get such message: {{ic|SteamLibrary has both 'SteamApps' and 'steamapps' directories. This will cause problems. Please fix manually and only keep 'steamapps' }} See [https://github.com/ValveSoftware/steam-for-linux/issues/7665 issue #7665]<br />
<br />
Also it is problematic to create symlinks on exfat, so you cannot use the method of symlinking compatdata as in ntfs method.<br />
<br />
==== UDF ====<br />
<br />
This file system can be used without a problem. The only thing to remember is that Linux has not yet write support to udf 2.50+. So just create a udf formatted partition in Gparded, and it will be 2.01.<br />
<br />
=== Faster shader pre-compilation ===<br />
<br />
In certain circumstances shader pre-compilation may only use one core, however this can be overridden by the user, example to use 8 cores:<br />
<br />
{{hc|~/.steam/steam/steam_dev.cfg|<br />
unShaderBackgroundProcessingThreads 8<br />
}}<br />
<br />
=== Compatibility layers other than Proton ===<br />
<br />
There are compatibility tools other than Proton/Wine.<br />
<br />
* {{App|Luxtorpeda|Run games using native Linux engines.|https://luxtorpeda-dev.github.io/|{{AUR|luxtorpeda-git}}}}<br />
* {{App|Boxtron|Run DOS games using native Linux DOSBox|https://github.com/dreamer/boxtron|{{AUR|boxtron}}}}<br />
<br />
You can also use {{AUR|protonup-qt}} to manage them: <br />
<br />
# Close Steam<br />
# [[Install]] {{AUR|protonup-qt}}<br />
# Open protonup-qt and install desired tools<br />
# Start Steam<br />
# In the ''game properties'' window, select ''Force the use of a specific Steam Play compatibility tool'' and select the desired tool.<br />
<br />
=== Disable HTTP2 for faster downloads ===<br />
<br />
Some systems and configurations seem to have issues with HTTP2. Disabling HTTP2 will probably yield faster downloads on those configurations.<br />
You can either use the console command {{ic|@nClientDownloadEnableHTTP2PlatformLinux 0}} or set it in {{ic|steam_dev.cfg}} like so:<br />
{{hc|~/.steam/steam/steam_dev.cfg|<br />
@nClientDownloadEnableHTTP2PlatformLinux 0<br />
}}<br />
<br />
=== Run games using discrete GPU ===<br />
<br />
On [[hybrid graphics]] laptops, Steam runs games using the integrated GPU by default. See [[PRIME#PRIME GPU offloading]] to switch to the more powerful discrete GPU for specific games.<br />
<br />
=== Flatpak ===<br />
<br />
{{Note|Installing Steam from Flathub/Flatpak will fix many of the issues faced on the client but will require alternative, less documented forms of troubleshooting on the long run.}}<br />
<br />
Steam can also be installed with [[Flatpak]] as {{ic|com.valvesoftware.Steam}} from [https://flathub.org/ Flathub]. The easiest way to install it for the current user is by using the Flathub repository:<br />
<br />
$ flatpak --user remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo<br />
$ flatpak --user install flathub com.valvesoftware.Steam<br />
$ flatpak run com.valvesoftware.Steam<br />
<br />
The Flatpak application currently does not support themes. Also you currently cannot run games via {{ic|optirun}}/{{ic|primusrun}}, see [https://github.com/flatpak/flatpak/issues/869 Issue#869] for more details.<br />
<br />
Steam installed via Flatpak is not able to access your home directory and overriding this will cause Steam to not run because it is not safe. However, you can freely add directories outside the home directory. If you want to add an external library, run the following command to add it:<br />
<br />
$ flatpak override --user com.valvesoftware.Steam --filesystem=/path/to/directory<br />
<br />
Launching Steam with Flatpak might warn you about installing the {{ic|steam-devices}} package. This package currently does not exist but {{aur|game-devices-udev}} can be installed instead, see [[Gamepad#Device permissions]].<br />
<br />
==== Asian Font Problems with Flatpak ====<br />
<br />
If you are having problem getting Asian fonts to show in game, it is because org.freedesktop.Platform does not include it. First try mounting your local font :<br />
<br />
$ flatpak run --filesystem=~/.local/share/fonts --filesystem=~/.config/fontconfig com.valvesoftware.Steam<br />
<br />
If that does not work, consider this hack: make the fonts available by directly copying the font files into org.freedesktop.Platform's directories, e.g.<br />
<br />
/var/lib/flatpak/runtime/org.freedesktop.Platform/x86_64/''version''/''hash''/files/etc/fonts/conf.avail<br />
/var/lib/flatpak/runtime/org.freedesktop.Platform/x86_64/''version''/''hash''/files/etc/fonts/conf.d <br />
/var/lib/flatpak/runtime/org.freedesktop.Platform/x86_64/''version''/''hash''/files/share/fonts<br />
<br />
==== Steam Flatpak start (run) issues ====<br />
<br />
After launch Steam will try to download files. You'll see progress bar. If it crash, you may try to give additional permissions for flatpak package:<br />
<br />
$ flatpak permission-set background background com.valvesoftware.Steam yes<br />
$ flatpak run com.valvesoftware.Steam<br />
<br />
Alternative way for control permissions - install [https://flathub.org/apps/com.github.tchx84.Flatseal flatseal].<br />
<br />
== Troubleshooting ==<br />
<br />
See [[Steam/Troubleshooting]].<br />
<br />
== See also ==<br />
<br />
* [[Gentoo:Steam]]<br />
* [https://pcgamingwiki.com/wiki/The_Big_List_of_DRM-Free_Games_on_Steam The Big List of DRM-Free Games on Steam] at PCGamingWiki<br />
* [https://store.steampowered.com/browse/linux Steam Linux store]<br />
* [https://github.com/ValveSoftware/Proton/ Proton] Compatibility tool for Steam Play based on Wine and additional components.<br />
* [https://www.protondb.com/ ProtonDB] crowdsourced Linux compatibility reports.<br />
* [https://areweanticheatyet.com/ are we anti cheat yet] A comprehensive and crowd-sourced list of games using anti-cheats and their compatibility with GNU/Linux or Wine/Proton.</div>
Zyamilon
https://wiki.archlinux.org/index.php?title=Steam&diff=795742
Steam
2024-01-01T08:35:52Z
<p>Zyamilon: +Steam Flatpak start (run) issues</p>
<hr />
<div>[[Category:Gaming]]<br />
[[de:Steam]]<br />
[[fi:Steam]]<br />
[[ja:Steam]]<br />
[[pt:Steam]]<br />
[[ru:Steam]]<br />
[[zh-hans:Steam]]<br />
{{Related articles start}}<br />
{{Related|Steam/Troubleshooting}}<br />
{{Related|Steam/Game-specific troubleshooting}}<br />
{{Related|Gaming}}<br />
{{Related|Gamepad}}<br />
{{Related|List of games}}<br />
{{Related|Gamescope}}<br />
{{Related articles end}}<br />
<br />
[https://store.steampowered.com/about/ Steam] is a popular game distribution platform by Valve.<br />
<br />
{{Note|Steam for Linux only supports Ubuntu LTS.[https://help.steampowered.com/en/faqs/view/1114-3F74-0B8A-B784] Thus, do not turn to Valve for support for issues with Steam on Arch Linux.}}<br />
<br />
== Installation ==<br />
<br />
Enable the [[multilib]] repository and [[install]] the {{Pkg|steam}} (recommended) or alternatively the {{Pkg|steam-native-runtime}} package for running Steam with native system libraries. See [[/Troubleshooting#Steam runtime]].<br />
<br />
{{Note|If you are installing for the first time, you may be prompted for the 32-bit [[Vulkan]] driver package. By default [[pacman]] alphabetically chooses {{Pkg|lib32-amdvlk}}, which can introduce issues like being unable to use Vulkan at all when you install it by accident for different GPU vendor or launch games on AMD GPUs if not installed alongside {{Pkg|amdvlk}}. See [[Vulkan#Installation]] to choose the proper driver for your GPU.}}<br />
<br />
In order to run Steam on Arch Linux:<br />
<br />
* You must install the 32-bit version of the [[Xorg#Driver installation|OpenGL graphics driver]].<br />
* If not already done [[Installation guide#Localization|during installation]], you must [[Locale#Generating locales|generate the en_US.UTF-8 locale]] to preventing invalid pointer errors.<br />
* Since the GUI heavily uses the Arial font, you should either:<br />
** Use a free alternative such as {{Pkg|ttf-liberation}}.<br />
** Follow [[Microsoft fonts]] to install the original fonts.<br />
** Apply the workaround at [[Steam/Troubleshooting#Text is corrupt or missing]] to use a different font face.<br />
* If you need CJK support, [[install]] {{Pkg|wqy-zenhei}}.<br />
* If using [[systemd-networkd]] for network management, [[install]] {{Pkg|lib32-systemd}} in order for Steam to be able to connect to its servers.<br />
* If using [[systemd-resolved]] for DNS, follow [[systemd-resolved#DNS|the steps]] to fix {{ic|/etc/resolv.conf}} in order for Steam to be able to resolve hostnames.<br />
* If using the Big Picture Mode (Steam Deck UI), [[NetworkManager]] may be required for the network-related panels to work correctly.<br />
<br />
=== SteamCMD ===<br />
<br />
[[Install]] {{AUR|steamcmd}} for [https://developer.valvesoftware.com/wiki/SteamCMD the command-line version of Steam].<br />
<br />
== Directory structure ==<br />
<br />
The default Steam install location is {{ic|~/.local/share/Steam}}. If Steam cannot find it, it will prompt you to reinstall it or select the new location. This article uses the {{ic|~/.steam/root}} symlink to refer to the install location.<br />
<br />
=== Library folders ===<br />
<br />
Every Steam application has a unique AppID, which you can find by either looking at its [https://store.steampowered.com/ Steam Store] page path or visiting [https://steamdb.info/ SteamDB]. <br />
<br />
Steam installs games into a directory under {{ic|''LIBRARY''/steamapps/common/}}. {{ic|''LIBRARY''}} normally is <br />
{{ic|~/.steam/root}} but you can also have multiple library folders (''Steam > Settings > Downloads > Steam Library Folders'').<br />
<br />
In order for Steam to recognize a game it needs to have an<br />
{{ic|appmanifest_''AppId''.acf}} file in {{ic|''LIBRARY''/steamapps/}}. The appmanifest file uses the <br />
[https://developer.valvesoftware.com/wiki/KeyValues KeyValues] format and its {{ic|installdir}} property<br />
determines the game directory name.<br />
<br />
{{Note|In order to add additional drives to a Steam installation made through flathub, the user must first give the Steam Client authorization to access the mount-point of the additional drive manually through a tool such as {{AUR|flatseal}}.}}<br />
<br />
== Usage ==<br />
<br />
steam [ -options ] [ steam:// URL ]<br />
<br />
For the available command-line options see the [https://developer.valvesoftware.com/wiki/Command_Line_Options#Steam_.28Windows.29 Command Line Options article on the Valve Developer Wiki].<br />
<br />
Steam also accepts an optional Steam URL, see the [https://developer.valvesoftware.com/wiki/Steam_browser_protocol Steam browser procotol].<br />
<br />
== Launch options ==<br />
<br />
When you launch a Steam game, Steam executes its '''launch command''' with {{ic|/bin/sh}}.<br />
To let you alter the launch command Steam provides '''launch options''',<br />
which can be set for a game by right-clicking on it in your library, selecting Properties and clicking on ''Set Launch Options''.<br />
<br />
By default Steam simply appends your option string to the launch command. To set environment variables or<br />
pass the launch command as an argument to another command you can use the {{ic|%command%}} substitute.<br />
<br />
=== Examples ===<br />
<br />
* only arguments: {{ic|-foo}}<br />
* environment variables: {{ic|1=FOO=bar BAZ=bar %command% -baz}}<br />
* completely different command: {{ic|othercommand # %command%}}<br />
<br />
== Tips and tricks ==<br />
<br />
=== Start Minimized ===<br />
<br />
It is possible to have Steam start minimized to the system tray, rather than taking focus. Add {{ic|-silent}} to the list of command line arguments; see [[Desktop entries#Modify desktop files]] for doing this by default.<br />
<br />
=== Small Mode ===<br />
<br />
Steam supports an alternative, minimal UI with just your game list - the store, community and cover collection views are hidden. You can switch to it with ''View'' > ''Small Mode''. To go back to the standard UI, select ''View'' > ''Large Mode''.<br />
<br />
=== Proton Steam-Play ===<br />
<br />
Valve developed a compatibility tool for Steam Play based on Wine and additional components named [[w:Proton (software)|Proton]]. It allows you to launch many Windows games (see [https://www.protondb.com/ compatibility list]).<br />
<br />
It is open-source and available on [https://github.com/ValveSoftware/Proton/ GitHub]. Steam will install its own versions of Proton when Steam Play is enabled.<br />
<br />
Proton needs to be enabled on Steam client: ''Steam > Settings > Compatibility''. You can enable Steam Play for games that have and have not been whitelisted by Valve in that dialog.<br />
<br />
Proton supports ''E''asy ''A''nti ''C''heat integration if the developer activates it, however EAC may require a particular [https://github.com/ValveSoftware/Proton/issues/5214 patched version] of glibc: if a game is been reported to be working but is not in your machine, try using Steam Flatpak because it comes with glibc patched.<br />
<br />
==== Force Proton usage ====<br />
<br />
If needed, to force enable Proton or a specific version of Proton for a game, right click on the game, click ''Properties > Compatibility > Force the use of a specific Steam Play compatibility tool'', and select the desired version. Doing so can also be used to force games that have a Linux port to use the Windows version.<br />
<br />
==== Use Proton outside of Steam ====<br />
<br />
You can also [[install]] Proton from AUR with {{AUR|proton}} or {{AUR|proton-git}}, but extra setup is required for them to work with Steam. See the Proton GitHub for details on how Steam recognizes Proton installs.<br />
<br />
=== Steam Input ===<br />
<br />
When a controller is plugged in while Steam is running, Steam's default behavior is to leave it alone and let games use it as-is. The gamepad's evdev and joystick devices are exposed by the kernel, and games may use them using APIs such as [https://www.libsdl.org/ SDL2] as if Steam were not in the picture.<br />
<br />
The [https://partner.steamgames.com/doc/features/steam_controller Steam Input] subsystem offers an abstraction layer which allows for more advanced functionality such as rebinding buttons and axes, having game-specific profiles, and doing higher-level button mappings based on in-game actions. The [https://partner.steamgames.com/doc/features/steam_controller/concepts Steam Input Configurator] (SIC) is the part of the system that implements this functionality. To enable Steam Input for a controller, go to ''Steam'' > ''Settings'' > ''Controller'' > ''General Controller Setting''. [https://partner.steamgames.com/doc/features/steam_controller/getting_started_for_players] This will open a menu from the Big Picture settings, where you can enable the ''Configuration Support'' option corresponding to your controller.<br />
<br />
==== Steam Input Configurator ====<br />
<br />
When SIC is enabled for a controller, there are a few different controller devices:<br />
<br />
* The virtual Steam Controller, used by games that utilize the Steam Input API. All rebindings and Steam-specific features are functional.<br />
** This is not to be confused with the [https://store.steampowered.com/app/353370/Steam_Controller/ Valve Steam Controller], the physical controller.<br />
* An evdev device representing an emulated Xbox 360 controller, used by games that do not support Steam Input. Basic rebindings are in effect. [https://partner.steamgames.com/doc/features/steam_controller/steam_input_gamepad_emulation_bestpractices]<br />
* The original controller evdev device, whose inputs are passed through the SIC. Rebindings are not in effect, but games should be defaulting to the 360 controller instead.<br />
* The joystick analogues of the above two devices.<br />
<br />
The SIC's behavior is context dependent:<br />
<br />
* When launching a game that supports the Steam Input API, it is using the SIC in native mode. The game receives "actions" rather than raw inputs to handle.<br />
** This works for games running in Proton that would be using Steam Input on Windows.<br />
** Even though it's theoretically not needed, the emulated 360 controller is still present.<br />
** A game may choose to provide both support for the Steam Input, and traditional input API libraries that defer to evdev and joystick under the hood. When the game is launched with Steam and with SIC enabled for the controller, Steam Input takes higher priority.<br />
** A game can also choose to ''only'' support Steam Input. For example, in Among Us, a gamepad will not work unless you have the SIC running.<br />
* When launching a game that does not support Steam Input, it is (unknowingly) using the SIC in legacy mode. The game receives its expected low-level raw inputs from what seems to be a 360 controller, but they are actually spoofed by the SIC to emulate the desired behavior of native mode.<br />
** This is the case for native games that use evdev or joystick, as well as Windows games running through Proton that use DirectInput or XInput.<br />
* When launching a game that supports neither Steam Input nor other gamepad APIs, SIC can activate a profile that emulates gamepad support as described below.<br />
* When Big Picture has focus, the current Big Picture profile is in effect, configurable via ''Steam'' > ''Settings'' > ''Controller'' > ''Big Picture Configuration''.<br />
* When anything else has focus, the current Desktop profile is in effect, configurable via ''Steam'' > ''Settings'' > ''Controller'' > ''Desktop Configuration''.<br />
* When anything has focus, additional global bindings can be configured via ''Steam'' > ''Settings'' > ''Controller'' > ''Guide Button Chord Configuration''.<br />
<br />
Games are rated on how comprehensive their gamepad support is. A game can have one of three icons in the Big Picture UI: [https://steamcommunity.com/sharedfiles/filedetails/?id=192523320]<br />
<br />
* A full gamepad icon, indicating that the game has full controller support. This can be achieved even if the game does not use the Steam Input API; the focus is on accessibility regardless of API.<br />
* A half-filled gamepad icon, indicating that the game has partial gamepad support. Even if the game is using the Steam Input API, there are instances like Team Fortress 2 where certain parts are still inaccessible to warrant this rating.<br />
* A keyboard icon, indicating the game does not have native gamepad support.<br />
<br />
In cases where the game does not have full gamepad support, SIC tries to fill the gaps. For example, in Bloons Tower Defense 5, a game that requires you to point and click, Steam will automatically activate the ''Keyboard (WASD) and Mouse'' profile, allowing you to use your gamepad to move and click.<br />
<br />
==== Recommended Steam Input usage ====<br />
<br />
To summarize what this all means for usage:<br />
<br />
* Enabling "Configuration Support" in the Big Picture settings is ''recommended'' for enhanced gamepad support such as rebinding to one's liking, or automated fixes like Nintendo-style button remapping or keyboard/mouse.<br />
* For some games, enabling this is outright ''required'' if they do not support traditional gamepad APIs.<br />
* By default, if you have enabled this, then the controller will not work with non-Steam games because the 360 controller takes precedence over the original controller device, but the default Desktop profile has the buttons disabled. To fix this, you can either:<br />
** Set your Desktop profile to the template for ''Gamepad''. This will pass through the inputs to the 360 controller, making the default device usable for other programs.<br />
** Have the other game use the original device if it supports this. Note that the game will not benefit from any Steam Input rebindings.<br />
** Disable the whole feature for the controller so Steam does not create the 360 controller at all. Note that Steam games would then not benefit from the enhanced gamepad support.<br />
** Close Steam when using the other games.<br />
<br />
=== HiDPI ===<br />
<br />
See [[HiDPI#Steam]].<br />
<br />
=== Big Picture Mode without a window manager ===<br />
<br />
To start Steam in Big Picture Mode from a [[Display manager]], you can either:<br />
<br />
* [[Install]] {{AUR|steamos-compositor}}<br />
* Alternatively, install {{AUR|steamos-compositor-plus}}, which hides the annoying color flashing on startup of Proton games and adds a fix for games that start in the background<br />
* Manually add a Steam entry (''but you lose the steam compositor advantages: mainly you '''cannot''' control Big Picture mode with keyboard or gamepad''):<br />
<br />
create a {{ic|/usr/share/xsessions/steam-big-picture.desktop}} file with the following contents: <br />
<br />
{{hc|/usr/share/xsessions/steam-big-picture.desktop|<nowiki><br />
[Desktop Entry]<br />
Name=Steam Big Picture Mode<br />
Comment=Start Steam in Big Picture Mode<br />
Exec=/usr/bin/steam -bigpicture<br />
TryExec=/usr/bin/steam<br />
Icon=<br />
Type=Application</nowiki>}}<br />
<br />
=== Steam skins ===<br />
<br />
{{Note|A new Steam UI was released in June 2023. Skins not updated for this new UI will have no effect.}}<br />
<br />
The Steam interface can be customized using skins. Follow [https://steamcommunity.com/sharedfiles/filedetails/?id=3003438937 this Steam guide] for more information.<br />
<br />
Some skins updated for the 2023 UI are:<br />
<br />
* [https://github.com/tkashkin/Adwaita-for-Steam Adwaita for Steam]<br />
* [https://github.com/AikoMidori/SteamSkins Shiina's Steam Skins]<br />
* [https://github.com/yurisuika/Zehn Zehn]<br />
* More skins are available in the guide linked above.<br />
<br />
=== Changing the Steam notification position ===<br />
<br />
The default Steam notification position is bottom right.<br />
<br />
You can change the Steam notification position by altering {{ic|Notifications.PanelPosition}} in<br />
<br />
* {{ic|resource/styles/steam.styles}} for desktop notifications, and<br />
* {{ic|resource/styles/gameoverlay.styles}} for in-game notifications<br />
<br />
Both files are overwritten by Steam on startup and {{ic|steam.styles}} is only read on startup.<br />
<br />
{{Note|Some games do not respect the setting in {{ic|gameoverlay.styles}} e.g. XCOM: Enemy Unknown.}}<br />
<br />
==== Use a skin ====<br />
<br />
You can create a skin to change the notification position to your liking. For example to change the position to top right:<br />
<br />
$ cd ~/.steam/root/skins<br />
$ mkdir -p Top-Right/resource<br />
$ cp -r ~/.steam/root/resource/styles Top-Right/resource<br />
$ sed -i '/Notifications.PanelPosition/ s/"[A-Za-z]*"/"TopRight"/' Top-Right/resource/styles/*<br />
<br />
==== Live patching ====<br />
<br />
{{ic|gameoverlay.styles}} can be overwritten while Steam is running, allowing you to have game-specific notification positions.<br />
<br />
{{hc|~/.steam/notifpos.sh|<br />
sed -i "/Notifications.PanelPosition/ s/\"[A-Za-z]*\"/\"$1\"/" ~/.steam/root/resource/styles/gameoverlay.styles<br />
}}<br />
<br />
And the [[#Launch options]] should be something like:<br />
<br />
~/.steam/notifpos.sh TopLeft && %command%<br />
<br />
=== Steam Remote Play ===<br />
<br />
{{Note|Steam In-Home Streaming [https://store.steampowered.com/news/51761/ has become Steam Remote Play].}}<br />
<br />
Steam has built-in support for [https://store.steampowered.com/streaming/ remote play].<br />
<br />
See [https://steamcommunity.com/sharedfiles/filedetails/?id=680514371 this Steam Community guide] on how to setup a headless streaming server on Linux.<br />
<br />
=== Sharing games with Windows when using Proton ===<br />
<br />
If you use Proton (Steam Play) for launching your games, and still keep a Windows installation for some reason (for example, if some game has problems with anti cheat or if you want to make a comparison tests with Windows), you may want to store your games in a common partition instead of keeping two copies of game one per OS.<br />
<br />
To add another folder for library, click on ''Steam > Settings > Downloads > STEAM LIBRARY FOLDERS'', then on the ''⊕ (Plus)'' button.<br />
<br />
There are three file systems, that can be read/write by both Windows and Linux.<br />
<br />
==== NTFS ====<br />
<br />
See https://github.com/ValveSoftware/Proton/wiki/Using-a-NTFS-disk-with-Linux-and-Windows for more information on how to configure that. To launch games from an NTFS drive, follow the steps from [[Steam/Troubleshooting#Steam Library in NTFS partition]].<br />
<br />
Using ntfs has disadvantages. It happens often that shaders cache folder becomes corrupted. Messages saying {{ic|1=ntfs3: sdb6 ino=1921f, steamapprun_pipeline_cache Looks like your dir is corrupt.}} You cannot fix that from linux. You need to boot to Windows and use chkdsk for that.<br />
<br />
==== EXFAT ====<br />
<br />
This FS has disadvantage that it is case-insensitive. You will get such message: {{ic|SteamLibrary has both 'SteamApps' and 'steamapps' directories. This will cause problems. Please fix manually and only keep 'steamapps' }} See [https://github.com/ValveSoftware/steam-for-linux/issues/7665 issue #7665]<br />
<br />
Also it is problematic to create symlinks on exfat, so you cannot use the method of symlinking compatdata as in ntfs method.<br />
<br />
==== UDF ====<br />
<br />
This file system can be used without a problem. The only thing to remember is that Linux has not yet write support to udf 2.50+. So just create a udf formatted partition in Gparded, and it will be 2.01.<br />
<br />
=== Faster shader pre-compilation ===<br />
<br />
In certain circumstances shader pre-compilation may only use one core, however this can be overridden by the user, example to use 8 cores:<br />
<br />
{{hc|~/.steam/steam/steam_dev.cfg|<br />
unShaderBackgroundProcessingThreads 8<br />
}}<br />
<br />
=== Compatibility layers other than Proton ===<br />
<br />
There are compatibility tools other than Proton/Wine.<br />
<br />
* {{App|Luxtorpeda|Run games using native Linux engines.|https://luxtorpeda-dev.github.io/|{{AUR|luxtorpeda-git}}}}<br />
* {{App|Boxtron|Run DOS games using native Linux DOSBox|https://github.com/dreamer/boxtron|{{AUR|boxtron}}}}<br />
<br />
You can also use {{AUR|protonup-qt}} to manage them: <br />
<br />
# Close Steam<br />
# [[Install]] {{AUR|protonup-qt}}<br />
# Open protonup-qt and install desired tools<br />
# Start Steam<br />
# In the ''game properties'' window, select ''Force the use of a specific Steam Play compatibility tool'' and select the desired tool.<br />
<br />
=== Disable HTTP2 for faster downloads ===<br />
<br />
Some systems and configurations seem to have issues with HTTP2. Disabling HTTP2 will probably yield faster downloads on those configurations.<br />
You can either use the console command {{ic|@nClientDownloadEnableHTTP2PlatformLinux 0}} or set it in {{ic|steam_dev.cfg}} like so:<br />
{{hc|~/.steam/steam/steam_dev.cfg|<br />
@nClientDownloadEnableHTTP2PlatformLinux 0<br />
}}<br />
<br />
=== Run games using discrete GPU ===<br />
<br />
On [[hybrid graphics]] laptops, Steam runs games using the integrated GPU by default. See [[PRIME#PRIME GPU offloading]] to switch to the more powerful discrete GPU for specific games.<br />
<br />
=== Flatpak ===<br />
<br />
{{Note|Installing Steam from Flathub/Flatpak will fix many of the issues faced on the client but will require alternative, less documented forms of troubleshooting on the long run.}}<br />
<br />
Steam can also be installed with [[Flatpak]] as {{ic|com.valvesoftware.Steam}} from [https://flathub.org/ Flathub]. The easiest way to install it for the current user is by using the Flathub repository:<br />
<br />
$ flatpak --user remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo<br />
$ flatpak --user install flathub com.valvesoftware.Steam<br />
$ flatpak run com.valvesoftware.Steam<br />
<br />
The Flatpak application currently does not support themes. Also you currently cannot run games via {{ic|optirun}}/{{ic|primusrun}}, see [https://github.com/flatpak/flatpak/issues/869 Issue#869] for more details.<br />
<br />
Steam installed via Flatpak is not able to access your home directory and overriding this will cause Steam to not run because it is not safe. However, you can freely add directories outside the home directory. If you want to add an external library, run the following command to add it:<br />
<br />
$ flatpak override --user com.valvesoftware.Steam --filesystem=/path/to/directory<br />
<br />
Launching Steam with Flatpak might warn you about installing the {{ic|steam-devices}} package. This package currently does not exist but {{aur|game-devices-udev}} can be installed instead, see [[Gamepad#Device permissions]].<br />
<br />
==== Asian Font Problems with Flatpak ====<br />
<br />
If you are having problem getting Asian fonts to show in game, it is because org.freedesktop.Platform does not include it. First try mounting your local font :<br />
<br />
$ flatpak run --filesystem=~/.local/share/fonts --filesystem=~/.config/fontconfig com.valvesoftware.Steam<br />
<br />
If that does not work, consider this hack: make the fonts available by directly copying the font files into org.freedesktop.Platform's directories, e.g.<br />
<br />
/var/lib/flatpak/runtime/org.freedesktop.Platform/x86_64/''version''/''hash''/files/etc/fonts/conf.avail<br />
/var/lib/flatpak/runtime/org.freedesktop.Platform/x86_64/''version''/''hash''/files/etc/fonts/conf.d <br />
/var/lib/flatpak/runtime/org.freedesktop.Platform/x86_64/''version''/''hash''/files/share/fonts<br />
<br />
==== Steam Flatpak start (run) issues ====<br />
<br />
After launch Steam will try to download files. You'll see progress bar. If it crash, you may try to give additional permissions for flatpak package:<br />
<br />
$ flatpak permission-set background background com.valvesoftware.Steam yes<br />
$ flatpak run com.valvesoftware.Steam<br />
<br />
Alternative way for control permissions - install [https://flathub.org/apps/com.github.tchx84.Flatseal flatseal].<br />
<br />
== Troubleshooting ==<br />
<br />
See [[Steam/Troubleshooting]].<br />
<br />
== See also ==<br />
<br />
* [[Gentoo:Steam]]<br />
* [https://pcgamingwiki.com/wiki/The_Big_List_of_DRM-Free_Games_on_Steam The Big List of DRM-Free Games on Steam] at PCGamingWiki<br />
* [https://store.steampowered.com/browse/linux Steam Linux store]<br />
* [https://github.com/ValveSoftware/Proton/ Proton] Compatibility tool for Steam Play based on Wine and additional components.<br />
* [https://www.protondb.com/ ProtonDB] crowdsourced Linux compatibility reports.<br />
* [https://areweanticheatyet.com/ are we anti cheat yet] A comprehensive and crowd-sourced list of games using anti-cheats and their compatibility with GNU/Linux or Wine/Proton.</div>
Zyamilon
https://wiki.archlinux.org/index.php?title=OpenSSH_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)&diff=292777
OpenSSH (Русский)
2014-01-14T03:22:45Z
<p>Zyamilon: поправочка. Теперь работает :)</p>
<hr />
<div>[[Category:Secure Shell (Русский)]]<br />
[[ar:Ssh]]<br />
[[en:Secure Shell]]<br />
[[es:Secure Shell]]<br />
[[fr:ssh]]<br />
[[it:Secure Shell]]<br />
[[ko:Secure Shell]]<br />
[[pl:Secure Shell]]<br />
[[pt:Secure Shell]]<br />
[[sr:Secure Shell]]<br />
[[zh-CN:Secure Shell]]<br />
<br />
{{Article summary start}}<br />
{{Article summary heading|Полезные ссылки}}<br />
{{Article summary wiki|SSH_Keys_(Русский)}}<br />
{{Article summary end}}<br />
= Введение =<br />
Безопасная Оболочка или SSH - это сетевой протокол, который позволяет обмениваться информацией между двумя компьютерами по безопасному каналу. Высокий уровень шифрования обеспечивает конфиденциальность передаваемых данных. SSH использует открытый ключ шифрования для авторизации на удалённом компьютере и в то же время позволяет удалённому компьютеру идентифицировать пользователя если нужно.<br />
<br />
SSH обычно использует лог на удалённой машине и запускает на ней команды, но также поддерживает "туннелирование", TCP порты и подключения через X11, он позволяет передавать файлы по протоколам SFTP или SCP.<br />
<br />
По умолчанию сервер SSH использует стандартный порт 22. На клиентской части обычно используются соединения, которые разрешены демоном "sshd". SSH одинаково распространён на всех популярных операционных системах, таких как Mac OS X, Linux, Solaris, Windows и OpenVMS. Существует множество пропиетарных, свободных и версий с открытым исходным кодом связок сервер-клиент, которые отличаются своей сложностью и функциональностью.<br />
<br />
== Установка OpenSSH ==<br />
# pacman -S openssh<br />
<br />
== Настройка SSH сервера ==<br />
Для настройки сервера Вам следует поправить конфигурационный файл:<br />
$ su -c 'nano /etc/ssh/sshd_config'<br />
<br />
Вы можете поменять 22 порт, который используется по умолчанию на любой другой более высокий.<br />
<br />
Когда порт SSH будет открыт, его можно будет обнаружить любым сканером портов, например, nmap.<br />
<br />
=== Настройка конфигурационного файла ===<br />
Конфигурационный файл находится по адресу ''/etc/ssh/ssh_config'' и по умолчанию выглядит следующим образом:<br />
<pre><br />
# $OpenBSD: sshd_config,v 1.75 2007/03/19 01:01:29 djm Exp $<br />
<br />
# This is the ssh client system-wide configuration file. See<br />
# ssh_config(5) for more information. This file provides defaults for<br />
# users, and the values can be changed in per-user configuration files<br />
# or on the command line.<br />
<br />
# Configuration data is parsed as follows:<br />
# 1. command line options<br />
# 2. user-specific file<br />
# 3. system-wide file<br />
# Any configuration value is only changed the first time it is set.<br />
# Thus, host-specific definitions should be at the beginning of the<br />
# configuration file, and defaults at the end.<br />
<br />
# Site-wide defaults for various options<br />
<br />
# Host *<br />
# ForwardAgent no<br />
# ForwardX11 no<br />
# RhostsRSAAuthentication no<br />
# RSAAuthentication yes<br />
# PasswordAuthentication yes<br />
# HostbasedAuthentication no<br />
# BatchMode no<br />
# CheckHostIP yes<br />
# AddressFamily any<br />
# ConnectTimeout 0<br />
# StrictHostKeyChecking ask<br />
# IdentityFile ~/.ssh/identity<br />
# IdentityFile ~/.ssh/id_rsa<br />
# IdentityFile ~/.ssh/id_dsa<br />
# Port 22<br />
# Protocol 2,1<br />
# Cipher 3des<br />
# Ciphers aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour,aes192-cbc,aes256-cbc<br />
# EscapeChar ~<br />
</pre><br />
<br />
Рекоммендуется поменять строку с надписью Protocol на следующую:<br />
Protocol 2<br />
<br />
Эти изменения обозначают, что будет использоваться только протокол версии 2.<br />
<br />
Также есть и конфигурационный файл для демона SSH. Он находится по адресу ''/etc/ssh/sshd_config'' и обычно выглядит вот так:<br />
<pre><br />
# $OpenBSD: sshd_config,v 1.75 2007/03/19 01:01:29 djm Exp $<br />
<br />
# This is the sshd server system-wide configuration file. See<br />
# sshd_config(5) for more information.<br />
<br />
# This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin<br />
<br />
# The strategy used for options in the default sshd_config shipped with<br />
# OpenSSH is to specify options with their default value where<br />
# possible, but leave them commented. Uncommented options change a<br />
# default value.<br />
<br />
#Port 22<br />
#Protocol 2,1<br />
ListenAddress 0.0.0.0<br />
#ListenAddress ::<br />
<br />
# HostKey for protocol version 1<br />
#HostKey /etc/ssh/ssh''host''key<br />
# HostKeys for protocol version 2<br />
#HostKey /etc/ssh/ssh''host''rsa_key<br />
#HostKey /etc/ssh/ssh''host''dsa_key<br />
<br />
# Lifetime and size of ephemeral version 1 server key<br />
#KeyRegenerationInterval 1h<br />
#ServerKeyBits 768<br />
<br />
# Logging<br />
#obsoletes ~QuietMode and ~FascistLogging<br />
#SyslogFacility AUTH<br />
#LogLevel INFO<br />
<br />
# Authentication:<br />
<br />
#LoginGraceTime 2m<br />
#PermitRootLogin yes<br />
#StrictModes yes<br />
#MaxAuthTries 6<br />
<br />
#RSAAuthentication yes<br />
#PubkeyAuthentication yes<br />
#AuthorizedKeysFile .ssh/authorized_keys<br />
<br />
# For this to work you will also need host keys in /etc/ssh/ssh''known''hosts<br />
#RhostsRSAAuthentication no<br />
# similar for protocol version 2<br />
#HostbasedAuthentication no<br />
# Change to yes if you don't trust ~/.ssh/known_hosts for<br />
# RhostsRSAAuthentication and HostbasedAuthentication<br />
#IgnoreUserKnownHosts no<br />
# Don't read the user's ~/.rhosts and ~/.shosts files<br />
#IgnoreRhosts yes<br />
<br />
# To disable tunneled clear text passwords, change to no here!<br />
#PasswordAuthentication yes<br />
#PermitEmptyPasswords no<br />
<br />
# Change to no to disable s/key passwords<br />
#ChallengeResponseAuthentication yes<br />
<br />
# Kerberos options<br />
#KerberosAuthentication no<br />
#KerberosOrLocalPasswd yes<br />
#KerberosTicketCleanup yes<br />
#KerberosGetAFSToken no<br />
<br />
# GSSAPI options<br />
#GSSAPIAuthentication no<br />
#GSSAPICleanupCredentials yes<br />
<br />
# Set this to 'yes' to enable PAM authentication, account processing,<br />
# and session processing. If this is enabled, PAM authentication will<br />
# be allowed through the ~ChallengeResponseAuthentication mechanism.<br />
# Depending on your PAM configuration, this may bypass the setting of<br />
# PasswordAuthentication, ~PermitEmptyPasswords, and<br />
# "PermitRootLogin without-password". If you just want the PAM account and<br />
# session checks to run without PAM authentication, then enable this but set<br />
# ChallengeResponseAuthentication=no<br />
#UsePAM no<br />
<br />
#AllowTcpForwarding yes<br />
#GatewayPorts no<br />
#X11Forwarding no<br />
#X11DisplayOffset 10<br />
#X11UseLocalhost yes<br />
#PrintMotd yes<br />
#PrintLastLog yes<br />
#TCPKeepAlive yes<br />
#UseLogin no<br />
#UsePrivilegeSeparation yes<br />
#PermitUserEnvironment no<br />
#Compression yes<br />
#ClientAliveInterval 0<br />
#ClientAliveCountMax 3<br />
#UseDNS yes<br />
#PidFile /var/run/sshd.pid<br />
#MaxStartups 10<br />
<br />
# no default banner path<br />
#Banner /some/path<br />
<br />
# override default of no subsystems<br />
Subsystem sftp /usr/lib/ssh/sftp-server<br />
<br />
</pre><br />
<br />
Для разрешения доступа только конкретным пользователям, добавьте следующую строку:<br />
<br />
AllowUsers user1 user2 ...<br />
<br />
Вместо user1 и user2 ... подставляются реальные пользователи.<br />
Также можно поменять несколько следующих строк строк:<br />
<pre><br />
Protocol 2<br />
.<br />
.<br />
.<br />
LoginGraceTime 120<br />
.<br />
.<br />
.<br />
PermitRootLogin no # (put yes here if you want root login)<br />
</pre><br />
<br />
Также можно раскомментировать опцию BANNER и исправить ''/etc/issue'' для удобного для Вас текста приглашения в систему.<br />
<br />
=== Другие включения ===<br />
{{out of date}}<br />
Для того, чтобы разрешить людям подключаться к Вашей машине вы должны отредактировать файл по адресу ''/etc/hosts.allow'' и добавить следующие строки:<br />
<br />
<pre><br />
# let everyone connect to you (Позволяет подключаться всем пользователям)<br />
sshd: ALL<br />
<br />
# OR you can restrict it to a certain ip (Позволяет подключаться с людям с конкретными адресами IP)<br />
sshd: 192.168.0.1<br />
<br />
# OR restrict for an IP range (Позволяет подключаться целой локальной сети)<br />
sshd: 10.0.0.0/255.255.255.0<br />
<br />
# OR restrict for an IP match (Позволяет подлючаться ограниченному кругу людей, используя маску)<br />
sshd: 192.168.1.<br />
</pre><br />
<br />
Теперь нужно проверить файл ''/etc/hosts.deny''. Там должны присутствовать строки:<br />
ALL: ALL<br />
<br />
Если таких строк нет, то добавьте их. Всё, теперь можно наслаждаться подключением по SSH :)<br />
<br />
Для того, чтобы новая конфигурация заработала, необходимо перезапустить демона:<br />
$ su -c '/etc/rc.d/sshd restart'<br />
<br />
== Управление демоном SSHD ==<br />
Чтобы демон включался автоматически при запуске системы, добавьте его в список автоматической загрузки с помощью команды:<br />
systemctl enable sshd<br />
<br />
Для запуска/перезапуска/остановки демона используются следующие команды:<br />
# /etc/rc.d/sshd {start|stop|restart}<br />
<br />
== Подключение к серверу ==<br />
Для подключения к серверу введите:<br />
$ ssh -p port user@server-address</div>
Zyamilon
https://wiki.archlinux.org/index.php?title=OpenSSH_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)&diff=292776
OpenSSH (Русский)
2014-01-14T03:17:12Z
<p>Zyamilon: ссылка на доп. статью</p>
<hr />
<div>[[Category:Secure Shell (Русский)]]<br />
[[ar:Ssh]]<br />
[[en:Secure Shell]]<br />
[[es:Secure Shell]]<br />
[[fr:ssh]]<br />
[[it:Secure Shell]]<br />
[[ko:Secure Shell]]<br />
[[pl:Secure Shell]]<br />
[[pt:Secure Shell]]<br />
[[sr:Secure Shell]]<br />
[[zh-CN:Secure Shell]]<br />
<br />
{{Article summary wiki|SSH_Keys}}<br />
= Введение =<br />
Безопасная Оболочка или SSH - это сетевой протокол, который позволяет обмениваться информацией между двумя компьютерами по безопасному каналу. Высокий уровень шифрования обеспечивает конфиденциальность передаваемых данных. SSH использует открытый ключ шифрования для авторизации на удалённом компьютере и в то же время позволяет удалённому компьютеру идентифицировать пользователя если нужно.<br />
<br />
SSH обычно использует лог на удалённой машине и запускает на ней команды, но также поддерживает "туннелирование", TCP порты и подключения через X11, он позволяет передавать файлы по протоколам SFTP или SCP.<br />
<br />
По умолчанию сервер SSH использует стандартный порт 22. На клиентской части обычно используются соединения, которые разрешены демоном "sshd". SSH одинаково распространён на всех популярных операционных системах, таких как Mac OS X, Linux, Solaris, Windows и OpenVMS. Существует множество пропиетарных, свободных и версий с открытым исходным кодом связок сервер-клиент, которые отличаются своей сложностью и функциональностью.<br />
<br />
== Установка OpenSSH ==<br />
# pacman -S openssh<br />
<br />
== Настройка SSH сервера ==<br />
Для настройки сервера Вам следует поправить конфигурационный файл:<br />
$ su -c 'nano /etc/ssh/sshd_config'<br />
<br />
Вы можете поменять 22 порт, который используется по умолчанию на любой другой более высокий.<br />
<br />
Когда порт SSH будет открыт, его можно будет обнаружить любым сканером портов, например, nmap.<br />
<br />
=== Настройка конфигурационного файла ===<br />
Конфигурационный файл находится по адресу ''/etc/ssh/ssh_config'' и по умолчанию выглядит следующим образом:<br />
<pre><br />
# $OpenBSD: sshd_config,v 1.75 2007/03/19 01:01:29 djm Exp $<br />
<br />
# This is the ssh client system-wide configuration file. See<br />
# ssh_config(5) for more information. This file provides defaults for<br />
# users, and the values can be changed in per-user configuration files<br />
# or on the command line.<br />
<br />
# Configuration data is parsed as follows:<br />
# 1. command line options<br />
# 2. user-specific file<br />
# 3. system-wide file<br />
# Any configuration value is only changed the first time it is set.<br />
# Thus, host-specific definitions should be at the beginning of the<br />
# configuration file, and defaults at the end.<br />
<br />
# Site-wide defaults for various options<br />
<br />
# Host *<br />
# ForwardAgent no<br />
# ForwardX11 no<br />
# RhostsRSAAuthentication no<br />
# RSAAuthentication yes<br />
# PasswordAuthentication yes<br />
# HostbasedAuthentication no<br />
# BatchMode no<br />
# CheckHostIP yes<br />
# AddressFamily any<br />
# ConnectTimeout 0<br />
# StrictHostKeyChecking ask<br />
# IdentityFile ~/.ssh/identity<br />
# IdentityFile ~/.ssh/id_rsa<br />
# IdentityFile ~/.ssh/id_dsa<br />
# Port 22<br />
# Protocol 2,1<br />
# Cipher 3des<br />
# Ciphers aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour,aes192-cbc,aes256-cbc<br />
# EscapeChar ~<br />
</pre><br />
<br />
Рекоммендуется поменять строку с надписью Protocol на следующую:<br />
Protocol 2<br />
<br />
Эти изменения обозначают, что будет использоваться только протокол версии 2.<br />
<br />
Также есть и конфигурационный файл для демона SSH. Он находится по адресу ''/etc/ssh/sshd_config'' и обычно выглядит вот так:<br />
<pre><br />
# $OpenBSD: sshd_config,v 1.75 2007/03/19 01:01:29 djm Exp $<br />
<br />
# This is the sshd server system-wide configuration file. See<br />
# sshd_config(5) for more information.<br />
<br />
# This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin<br />
<br />
# The strategy used for options in the default sshd_config shipped with<br />
# OpenSSH is to specify options with their default value where<br />
# possible, but leave them commented. Uncommented options change a<br />
# default value.<br />
<br />
#Port 22<br />
#Protocol 2,1<br />
ListenAddress 0.0.0.0<br />
#ListenAddress ::<br />
<br />
# HostKey for protocol version 1<br />
#HostKey /etc/ssh/ssh''host''key<br />
# HostKeys for protocol version 2<br />
#HostKey /etc/ssh/ssh''host''rsa_key<br />
#HostKey /etc/ssh/ssh''host''dsa_key<br />
<br />
# Lifetime and size of ephemeral version 1 server key<br />
#KeyRegenerationInterval 1h<br />
#ServerKeyBits 768<br />
<br />
# Logging<br />
#obsoletes ~QuietMode and ~FascistLogging<br />
#SyslogFacility AUTH<br />
#LogLevel INFO<br />
<br />
# Authentication:<br />
<br />
#LoginGraceTime 2m<br />
#PermitRootLogin yes<br />
#StrictModes yes<br />
#MaxAuthTries 6<br />
<br />
#RSAAuthentication yes<br />
#PubkeyAuthentication yes<br />
#AuthorizedKeysFile .ssh/authorized_keys<br />
<br />
# For this to work you will also need host keys in /etc/ssh/ssh''known''hosts<br />
#RhostsRSAAuthentication no<br />
# similar for protocol version 2<br />
#HostbasedAuthentication no<br />
# Change to yes if you don't trust ~/.ssh/known_hosts for<br />
# RhostsRSAAuthentication and HostbasedAuthentication<br />
#IgnoreUserKnownHosts no<br />
# Don't read the user's ~/.rhosts and ~/.shosts files<br />
#IgnoreRhosts yes<br />
<br />
# To disable tunneled clear text passwords, change to no here!<br />
#PasswordAuthentication yes<br />
#PermitEmptyPasswords no<br />
<br />
# Change to no to disable s/key passwords<br />
#ChallengeResponseAuthentication yes<br />
<br />
# Kerberos options<br />
#KerberosAuthentication no<br />
#KerberosOrLocalPasswd yes<br />
#KerberosTicketCleanup yes<br />
#KerberosGetAFSToken no<br />
<br />
# GSSAPI options<br />
#GSSAPIAuthentication no<br />
#GSSAPICleanupCredentials yes<br />
<br />
# Set this to 'yes' to enable PAM authentication, account processing,<br />
# and session processing. If this is enabled, PAM authentication will<br />
# be allowed through the ~ChallengeResponseAuthentication mechanism.<br />
# Depending on your PAM configuration, this may bypass the setting of<br />
# PasswordAuthentication, ~PermitEmptyPasswords, and<br />
# "PermitRootLogin without-password". If you just want the PAM account and<br />
# session checks to run without PAM authentication, then enable this but set<br />
# ChallengeResponseAuthentication=no<br />
#UsePAM no<br />
<br />
#AllowTcpForwarding yes<br />
#GatewayPorts no<br />
#X11Forwarding no<br />
#X11DisplayOffset 10<br />
#X11UseLocalhost yes<br />
#PrintMotd yes<br />
#PrintLastLog yes<br />
#TCPKeepAlive yes<br />
#UseLogin no<br />
#UsePrivilegeSeparation yes<br />
#PermitUserEnvironment no<br />
#Compression yes<br />
#ClientAliveInterval 0<br />
#ClientAliveCountMax 3<br />
#UseDNS yes<br />
#PidFile /var/run/sshd.pid<br />
#MaxStartups 10<br />
<br />
# no default banner path<br />
#Banner /some/path<br />
<br />
# override default of no subsystems<br />
Subsystem sftp /usr/lib/ssh/sftp-server<br />
<br />
</pre><br />
<br />
Для разрешения доступа только конкретным пользователям, добавьте следующую строку:<br />
<br />
AllowUsers user1 user2 ...<br />
<br />
Вместо user1 и user2 ... подставляются реальные пользователи.<br />
Также можно поменять несколько следующих строк строк:<br />
<pre><br />
Protocol 2<br />
.<br />
.<br />
.<br />
LoginGraceTime 120<br />
.<br />
.<br />
.<br />
PermitRootLogin no # (put yes here if you want root login)<br />
</pre><br />
<br />
Также можно раскомментировать опцию BANNER и исправить ''/etc/issue'' для удобного для Вас текста приглашения в систему.<br />
<br />
=== Другие включения ===<br />
{{out of date}}<br />
Для того, чтобы разрешить людям подключаться к Вашей машине вы должны отредактировать файл по адресу ''/etc/hosts.allow'' и добавить следующие строки:<br />
<br />
<pre><br />
# let everyone connect to you (Позволяет подключаться всем пользователям)<br />
sshd: ALL<br />
<br />
# OR you can restrict it to a certain ip (Позволяет подключаться с людям с конкретными адресами IP)<br />
sshd: 192.168.0.1<br />
<br />
# OR restrict for an IP range (Позволяет подключаться целой локальной сети)<br />
sshd: 10.0.0.0/255.255.255.0<br />
<br />
# OR restrict for an IP match (Позволяет подлючаться ограниченному кругу людей, используя маску)<br />
sshd: 192.168.1.<br />
</pre><br />
<br />
Теперь нужно проверить файл ''/etc/hosts.deny''. Там должны присутствовать строки:<br />
ALL: ALL<br />
<br />
Если таких строк нет, то добавьте их. Всё, теперь можно наслаждаться подключением по SSH :)<br />
<br />
Для того, чтобы новая конфигурация заработала, необходимо перезапустить демона:<br />
$ su -c '/etc/rc.d/sshd restart'<br />
<br />
== Управление демоном SSHD ==<br />
Чтобы демон включался автоматически при запуске системы, добавьте его в список автоматической загрузки с помощью команды:<br />
systemctl enable sshd<br />
<br />
Для запуска/перезапуска/остановки демона используются следующие команды:<br />
# /etc/rc.d/sshd {start|stop|restart}<br />
<br />
== Подключение к серверу ==<br />
Для подключения к серверу введите:<br />
$ ssh -p port user@server-address</div>
Zyamilon
https://wiki.archlinux.org/index.php?title=Openbox_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)&diff=254066
Openbox (Русский)
2013-04-15T01:22:29Z
<p>Zyamilon: поправил битый линк</p>
<hr />
<div>[[Category:Desktop environments (Русский)]]<br />
[[Category:Руководства (Русский)]]<br />
[[Category:Русский]]<br />
[[cs:Openbox]]<br />
[[en:Openbox]]<br />
[[es:Openbox]]<br />
[[fr:Openbox]]<br />
[[it:Openbox]]<br />
[[ko:Openbox]]<br />
[[lt:Openbox]]<br />
[[nl:Openbox]]<br />
[[pl:Openbox]]<br />
[[sk:Openbox]]<br />
[[sr:Openbox]]<br />
[[tr:Openbox]]<br />
[[zh-CN:Openbox]]<br />
[[zh-TW:Openbox]]<br />
Openbox это легкий и гибкий в настройке [[Window Manager|оконный менеджер]], поддерживающий большинство стандартных функций. Все его особенности документированы на [http://openbox.org/ официальном веб-сайте]. Эта статья описывает процесс установки Openbox под Arch Linux.<br />
<br />
== Установка ==<br />
<br />
{{Pkg|Openbox}} доступен из репозитория сообщества:<br />
# pacman -S openbox<br />
<br />
После установки вы должны скопировать конфигурационные файлы по умолчанию {{ic|rc.xml}}, {{ic|menu.xml}}, {{ic|autostart}}, и {{ic|environment}} в {{ic|~/.config/openbox}}:<br />
<br />
{{Note|Делайте это с правами пользователя, а не с правами суперпользователя.}}<br />
<br />
$ mkdir -p ~/.config/openbox<br />
$ cp /etc/xdg/openbox/{rc.xml,menu.xml,autostart,environment} ~/.config/openbox<br />
<br />
{{ic|rc.xml}} основной конфигурационный файл. В нем описаны сочетания клавиш, темы, виртуальные столы, и т.д.<br />
<br />
{{ic|menu.xml}} описывает содержимое меню, выпадающего по правому клику мыши. В нем описаны ярлыки запуска приложений и другие ярлыки. Смотрите секцию [[#Меню]].<br />
<br />
{{ic|autostart}} файл, отвечающий за автозапуск приложений при загрузке сессии openbox-session. Содержит программы, которые должны запускаться при загрузке. Обычно используется для установки переменных окружения, запуска панелей и доков, установки обоев на рабочий стол или запуска иных скриптов. Смотри [http://openbox.org/wiki/Help:Autostart Openbox Wiki].<br />
<br />
{{ic|environment}} is sourced by openbox-session at startup. Содержит переменные окружения, которые будут добавлены в контекст Openbox. Любые переменные, которые вы устанавливаете здесь будут видны в Openbox всем приложениям, которые вы запускаете, включая приложения в меню.<br />
<br />
== Обновление до Openbox 3.5 ==<br />
<br />
Если вы обновляетесь до Openbox 3.5 или более поздней версии с ранних релизов, то вам следует знать следующее:<br />
* Новый конфигурационный файл {{ic|environment}} вы должны скопировать отсюда /etc/xdg/openbox в папку ~/.config/openbox .<br />
* Прошлый конфигурационный файл, именуемый {{ic|autostart.sh}} теперь носит имя {{ic|autostart}}. Вам следует его переименовать - убрать из имени .sh .<br />
* Несколько изменилась грамматика в файле {{ic|rc.xml}}. Но пока Openbox понимает старые опции, сравните свои файлы конфигурации с соответствующими файлами в /etc/xdg/openbox и посмотрите на изменения.<br />
<br />
=== Проблемы 3.5 ===<br />
Смотри секцию ниже [[#Устранение неисправностей Openbox 3.5|Устранение неисправностей Openbox 3.5]].<br />
<br />
== Openbox в качестве отдельного менеджера окон ==<br />
<br />
Openbox можно использовать в качестве отдельного менеджера окон. Так его обычно проще устанавливать и настраивать, чем использовать Openbox с другими рабочими средами. Запуск Openbox в качестве самостоятельного рабочего окружения может значительно снизить загруженность вашего процессора и уменьшить количество потребляемой памяти.<br />
<br />
Для запуска Openbox в качестве отдельного менеджера окон файл '''{{ic|~/.xinitrc}}''' должен выглядеть так:<br />
exec openbox-session<br />
<br />
Вы можете так же запустить Openbox из терминала, используя '''xinit''':<br />
$ xinit /usr/bin/openbox-session<br />
<br />
Если вы использовали другой менеджер окон (например, Xfwm) и теперь Openbox не запускается после выхода из X, попытайтесь проделать следующее:<br />
mv ~/.config/autostart ~/.config/autostart-bak<br />
<br />
Для запуска с Consolekit, используйте такую строку:<br />
exec ck-launch-session openbox-session<br />
<br />
Если вы используете '''polkit''' и '''D-Bus''' (требуется для автоматического монтирования носителей в Nautilus/Gnome) используйте:<br />
exec ck-launch-session dbus-launch openbox-session<br />
<br />
{{Note|[https://www.archlinux.org/packages/extra/any/pyxdg/ pyxdg] требуется Openbox для xdg-autostart}}<br />
{{Note|"dbus-launch" должна быть помещена после "ck-launch-session", иначе будут проблемы с монтированием устройств}}<br />
<br />
== Openbox в качестве оконного менеджера для других окружений рабочих столов==<br />
<br />
Openbox может быть использован как заменяемый менеджер окон для законченных окружений рабочих столов. Этот метод развертывания Openbox требует окружение рабочего стола.<br />
<br />
=== GNOME 2.24 и 2.26 ===<br />
Создайте {{ic|/usr/share/applications/openbox.desktop}} следующего содержания:<br />
[Desktop Entry]<br />
Type=Application<br />
Encoding=UTF-8<br />
Name=OpenBox<br />
Exec=openbox<br />
NoDisplay=true<br />
# name of loadable control center module<br />
X-GNOME-WMSettingsModule=openbox<br />
# name we put on the WM spec check window<br />
X-GNOME-WMName=OpenBox<br />
В gconf, установите '''{{Ic|/desktop/gnome/session/required_components/windowmanager}}''' в '''{{Ic|openbox}}:'''<br />
$ gconftool-2 -s -t string /desktop/gnome/session/required_components/windowmanager openbox<br />
В завершении, выберите сессию '''GNOME''' в GDM меню сессий.<br />
<br />
=== GNOME 2.26 Redux ===<br />
'''''Если предыдущее руководство для GNOME 2.24 не работает:'''''<br />
<br />
Если когда вы пытаетесь сойти в сессию "Gnome/Openbox" session -- и сделать это не получается, попытайтесь так, как написано здесь. Это один из путей использовать Openbox в качестве оконного менеджера в любое время, когда вы используете сессию Gnome:<br />
<br />
#Войдите в вашу сессию Gnome (она должна использовать Metacity в качестве оконного менеджера);<br />
#Установите Openbox если вы этого еще не сделали;<br />
#В главном меню ''System &rarr; Preferences &rarr; Startup Applications'' (может называться 'Session' в старых версиях Gnome);<br />
#Откройте Startup Application, выберите '+ Add' и введите текст, показанный ниже. Комментариями можно пренебречь (#);<br />
#Кликните на кнопку 'Add' для того, чтобы закрыть окно. Убедитесь, что переключатель точки выхода был выбран;<br />
#Покиньте вашу сессию Gnome и войдите снова;<br />
#Теперь в качестве оконного менеджера должен запуститься Openbox.<br />
<br />
Name: Openbox Windox Manager # Можно изменить<br />
Command: openbox --replace # Этот текст нельзя удалять или менять, но можно добавить другие опции<br />
Comment: Replaces metacity with openbox # Можно изменить<br />
<br />
Этот ярлык будет автоматически запускаться каждый раз, когда запускается сессия пользователя в Gnome.<br />
<br />
=== GNOME 2.22 и ниже ===<br />
# Если вы используете GDM, выберите "GNOME/Openbox"<br />
# Если вы используете команду {{Ic|startx}}, добавьте {{Ic|exec openbox-gnome-session}} в {{ic|~/.xinitrc}}<br />
# И выполните из терминала команду:<br />
$ xinit /usr/bin/openbox-gnome-session<br />
<br />
=== KDE ===<br />
# Если вы используете KDM, выберите "KDE/Openbox"<br />
# Если вы используете команду startx, добавьте {{Ic|exec openbox-kde-session}} в {{ic|~/.xinitrc}}<br />
# И выполните из терминала команду:<br />
$ xinit /usr/bin/openbox-kde-session<br />
<br />
=== Xfce4 ===<br />
Загрузитесь в обычную Xfce4 сессию. И наберите в терминале команду:<br />
$ killall xfwm4 ; openbox & exit<br />
<br />
Тем самым вы убьете xfwm4, запустите Openbox, и закроете терминал. Теперь можно выйти из системы, но предварительно проверьте, что выбрали ''"Save session for future logins"''. При следующей загрузке Xfce4 в качестве оконного менеджера должен быть '''Openbox'''.<br />
<br />
Для того, чтобы включить выход из сессии используя ''xfce4-session,'' отредактируйте '''{{ic|~/.config/openbox/menu.xml}}'''. Если этот файл отсутствует, скопируйте его из {{ic|/etc/xdg/openbox/}}. Посмотрите на его содержимое, он выглядит так:<br />
<item label="Exit Openbox"><br />
<action name="Exit"><br />
<prompt>yes</prompt><br />
</action><br />
</item><br />
<br />
Приведите его к такому виду:<br />
<item label="Exit Openbox"><br />
<action name="Execute"><br />
<prompt>yes</prompt><br />
<command>xfce4-session-logout</command><br />
</action><br />
</item><br />
<br />
Другой путь, выбрать "Exit" из главного меню Openbox, чтобы выйти из него, теперь у вас не будет запущенного оконного менеджера.<br />
<br />
Если у вас проблемы с переключением между виртуальными столами с помощью колеса мыши - пропускаются рабочие столы, то отредактируйте '''{{ic|~/.config/openbox/rc.xml}}'''. Измените привязку к клавишам мыши для действий "DesktopPrevious" и "DesktopNext" в подгруппе ''Desktop'' в группе ''Root''.<br />
<br />
Когда используете главное меню Openbox вместо главного меню Xfce, вы должны выйти из Xfdesktop скомандовав из терминала:<br />
$ xfdesktop --quit<br />
Xfdesktop управляет обоями и значками на рабочем столе, поэтому вам могут потребоваться такие утилиты, как ROX для решения этих задач.<br />
<br />
(После закрытия Xfdesktop проблема с виртуальными рабочими столами отпадает.)<br />
<br />
== Openbox для пользователей с несколькими мониторами ==<br />
<br />
Пока Openbox обеспечивает лучше, чем среднюю поддержку нескольких мониторов, проект развивающий эту тему называется [https://aur.archlinux.org/packages.php?ID=51460 Openbox Multihead] и доступен в репозитории AUR это дает пользователям возможность воспользоваться его удобством. Эта модель обычно не основана на плавающих оконных менеджерах, но существует в основном в тайтловых оконных менеджерах. Она хорошо пояснена на сайте [http://xmonad.org/tour.html#workspace Xmonad]. Также, пожалуйста ознакомьтесь с [https://github.com/BurntSushi/openbox-multihead/blob/multihead/README.MULTIHEAD README.MULTIHEAD] для того, чтобы понять все новые возможности и правильно настроить Openbox Multihead.<br />
<br />
Openbox Multihead функционирует также, как и обычный Openbox когда доступен только один монитор.<br />
<br />
Обратная сторона медали Openbox Multihead в том, что это ломает EWMH (Extended Window Manager Hints), т.к. предполагается, что один и только один рабочий стол доступен в данный момент времени. Таким образом, существующие менеджеры не могут работать корректно именно по этой причине. Чтобы исправить это попробуйте [https://aur.archlinux.org/packages.php?ID=51536 pager-multihead], который вы можете найти в репозитории AUR, он совместим с Openbox Multihead. [http://imgur.com/a/cnZeq#y04nk Скриншоты].<br />
<br />
В завершение, новая версия [https://aur.archlinux.org/packages.php?ID=51626 pytyle] может быть найдена в репозитории AUR она работает с Openbox Multihead.<br />
<br />
Обе pytyle3 и pager-multihead работают и без Openbox Multihead если только один монитор активен.<br />
<br />
== Настройка ==<br />
<br />
Здесь несколько опций для настройки параметров Openbox:<br />
<br />
=== Ручная настройка ===<br />
Для настройки Openbox вручную отредактируйте файл {{ic|~/.config/openbox/rc.xml}} с помощью текстового редактора. Он содержит множество поясняющих комментариев. Смотрите [http://openbox.org/wiki/Help:Configuration Help:Configuration openbox wiki] для того, чтобы узнать больше.<br />
<br />
=== ObConf ===<br />
[http://openbox.org/wiki/ObConf:About ObConf] это графическая утилита для настройки Openbox. Она может быть использована для установки множества общих настроек, таких как темы, виртуальные рабочие столы, свойства окон и рабочих столов. Ее можно установить используя pacman:<br />
<br />
# pacman -S obconf<br />
<br />
ObConf не может быть использован для настройки сочетаний клавиш и некоторых других функций. Для изменения этих параметров редактируйте {{ic|rc.xml}} вручную. В качестве альтернатив можно воспользоваться {{AUR|obkey}} из [[AUR]].<br />
<br />
=== Настройка приложений ===<br />
<br />
Openbox позволяет настроить приложения. Это позволяет вам определять правила для программ. Например:<br />
* Запустить ваш браузер на отдельном виртуальном рабочем столе.<br />
* Открыть ваш терминал без оконного обрамления.<br />
* Сделать так, чтобы ваш bit-torrent клиент открывался в заданной позиции экрана.<br />
<br />
Настройки приложений определяются в файле {{ic|~/.config/openbox/rc.xml}}. Настройки в файле прокомментированы. Подробности смотрите в [http://openbox.org/wiki/Help:Applications Help:Applications openbox wiki].<br />
<br />
== Меню ==<br />
<br />
По умолчанию Openbox включает целый ряд элементов меню. Множество из них ярлыки для запуска программ которых у вас еще не установлены или которые вы никогда не будете устанавливать. Вы конечно можете отредактировать это меню, за него отвечает файл'''{{ic|menu.xml}}'''. Ниже описаны несколько способов это сделать.<br />
<br />
=== Ручная настройка меню ===<br />
<br />
Вы можете отредактировать {{ic|~/.config/openbox/menu.xml}} текстовым редактором. Множество настроек не требуют пояснения. В этой статье меню описано более подробно [http://openbox.org/wiki/Help:Menus Help:Menus].<br />
<br />
===Иконки в меню===<br />
<br />
Начиная с версии 3.5.0 вы можете добавлять иконки рядом с ярлыками запуска программ в меню. Сделать это можно так:<br />
# добавьте <showIcons>yes</showIcons> в секцию <menu> в файл {{ic|rc.xml}}<br />
# отредактируйте описание ярлыка в меню в файле {{ic|menu.xml}} добавив в него icons="<path>" выглядит это примерно так :<br />
<menu id="apps-menu" label="SomeApp" icon="/home/user/.icons/application.png"><br />
<br />
затем выполните openbox --reconfigure или openbox --restart если у вас возникают проблемы с обновлением меню :)<br />
<br />
=== MenuMaker ===<br />
<br />
[http://menumaker.sourceforge.net/ MenuMaker] это утилита создания XML меню для нескольких оконных менеджеров включая Openbox. MenuMaker сканирует ваш компьютер на исполняемые файлы и генерирует меню по результатам сканирования. Она может быть сконфигурирована так, чтобы исключить определенные типы приложений (GNOME, KDE, или другие), если вам это требуется.<br />
# pacman -S menumaker # Установка MenuMaker из репозитория<br />
<br />
Послу установки сгенерируйте файл меню (named {{ic|menu.xml}}) запустив программу.<br />
$ mmaker -v OpenBox3 # Не перезаписывать существующий файл меню.<br />
$ mmaker -vf OpenBox3 # Принудительно перезаписать файл меню.<br />
$ mmaker --help # Просмотр всех доступных опций MenuMaker.<br />
<br />
MenuMaker создает очень большой файл меню {{ic|menu.xml}}. Вы можете его отредактировать вручную или сгенерировать заново после установки программ.<br />
<br />
=== Obmenu ===<br />
<br />
Obmenu это редактор меню для Openbox. Это графическое приложение - лучший выбор для тех, кто не любит или не хочет редактировать XML код. Obmenu доступно из репозитория сообщества:<br />
# pacman -S obmenu<br />
<br />
После установки и запуска {{Ic|obmenu}} вы сможете добавлять и удалять приложения из меню как вам будет угодно.<br />
<br />
=== openbox-menu ===<br />
<br />
Openbox-menu использует [http://sourceforge.net/projects/lxde/files/menu-cache/ menu-cache] из проекта LXDE для создания динамического меню для Openbox.<br />
<br />
Домашняя страничка проекта:<br />
[http://mimasgpc.free.fr/openbox-menu_en.html http://mimasgpc.free.fr/openbox-menu_en.html]<br />
<br />
Страница в репозитории AUR:<br />
[https://aur.archlinux.org/packages.php?ID=31605 https://aur.archlinux.org/packages.php?ID=31605]<br />
<br />
==== Obm-xdg ====<br />
<br />
{{Ic|obm-xdg}} это консольная утилита, входящая в состав Obmenu. Эта утилита распределяет по категориям в подменю установленные GTK/GNOME приложения.<br />
<br />
Для использования obm-xdg с другими меню, добавьте в файл '''{{ic|~/.config/openbox/menu.xml}}''' такую строку:<br />
<menu execute="obm-xdg" id="xdg-menu" label="xdg"/><br />
<br />
Затем после линии с вашим 'root-menu' добавьте такую троку в том месте, где бы вы хотели чтобы появилось меню:<br />
<menu id="xdg-menu"/><br />
<br />
Для использования obm-xdg самостоятельно создайте '''{{ic|~/.config/openbox/menu.xml}}''' только такого содержания:<br />
<openbox_menu><br />
<menu execute="obm-xdg" id="root-menu" label="apps"/><br />
</openbox_menu><br />
<br />
<br />
Затем запустите {{Ic|openbox --reconfigure}} для того чтобы обновить меню Openbox. Теперь вы должны увидеть подменю с именем '''xdg''' в вашем меню.<br />
<br />
{{Note|Если у вас не установлен GNOME, то вам необходимо установить пакет '''gnome-menus''' для obm-xdg.}}<br />
<br />
=== Основанный на Python скрипт меню xdg ===<br />
<br />
Этот скрипт находится в Openbox пакетах дистрибутива Fedora. Поэтому вы можете только скопировать скрипт куда-нибудь и создать для него точку входа в файле меню.<br />
<br />
Найти его можно по этой ссылке: [http://pkgs.fedoraproject.org/cgit/openbox.git/tree/xdg-menu последняя версия]<br />
<br />
Скачайте из репозитория выше. Поместите в любую, удобную для вас папку.<br />
<br />
Откройте файл '''{{ic|menu.xml}}''' с помощью вашего текстового редактора и добавьте следующие строки, конечно, вы можете изменить метку, если хотите.<br />
<menu id="apps-menu" label="xdg-menu" execute="python2 <path>/xdg-menu"/><br />
<br />
Сохраните файл и запустите '''{{Ic|openbox --reconfigure}}'''.<br />
<br />
{{Note|Если у вас не установлен GNOME, то вам необходимо установить пакет '''gnome-menus''' для xdg-menu.}}<br />
<br />
=== Генератор меню для Openbox ===<br />
<br />
Он находится в репозитории AUR под именем [https://aur.archlinux.org/packages.php?ID=27300 obmenugen-bin,] генератор меню для Openbox позволяет создать меню из файлов *.desktop. Obmenugen представляет текстовые файлы, как фильтры для элементов меню.<br />
$ obmenugen # Создать файл меню<br />
$ openbox --reconfigure # Чтобы увидеть результат в вашем меню<br />
<br />
=== Pipe меню ===<br />
<br />
Как в других оконных менеджерах, в Openbox возможно использование скриптов для генерирования динамического меню (меню на лету). Например, мониторы системных ресурсов, управление медиа плеерами или мониторы погоды. Примеры скриптов Pipe меню можно найти здесь [http://openbox.org/wiki/Openbox:Pipemenus Openbox:Pipemenus] это одна из страниц проекта Openbox.<br />
<br />
Пользователь ''Xyne'' создал браузер файлов pipe меню, а пользователь ''brisbin33'' создал pipe меню для сканирования и подключения к беспроводным сетям (используется netcfg). Темы форума этих утилит по ссылкам ниже: [https://bbs.archlinux.org/viewtopic.php?id=77197&p=1 браузер файлов], [https://bbs.archlinux.org/viewtopic.php?id=78290 wifi].<br />
<br />
Пользователь ''jnguyen'' создал pipe меню для управления съемными носителями с использованием Udisks. Тема на форуме по этой ссылке: [https://bbs.archlinux.org/viewtopic.php?id=114702 obdevicemenu].<br />
<br />
== Автозапуск программ ==<br />
<br />
Openbox поддерживает автозапуск программ. Это обеспечивается командой '''openbox-session'''.<br />
<br />
=== Включение автозапуска ===<br />
<br />
Есть два способа включить автозапуск:<br />
# Если вы используете команду startx или xinit для запуска X сессии, отредактируйте {{ic|~/.xinitrc}}. Замените в линии запуска '''''openbox''''' на '''openbox-session'''.<br />
# Если вы используете GDM или KDM, выберите ''Openbox'' в этом случае автозапуск программ произойдет автоматически.<br />
<br />
=== Скрипт автозапуска ===<br />
<br />
Openbox запускает все программы описанные в файле {{ic|~/.config/openbox/autostart}}. Этот скрипт ''не'' создается по умолчанию. При отсутствии этого скрипта в домашней папке пользователя, Openbox использует системный скрипт {{ic|/etc/xdg/openbox/autostart}}. Системный скрипт не используется, если существует пользовательский скрипт.<br />
<br />
Для создания пользовательского скрипта автозапуска скопируйте системный скрипт в вашу папку с настройками {{ic|~/.config/openbox/}} и добавьте в него свои команды. Это не гарантирует вам работоспособность окружения должным образом.<br />
<br />
Полная инструкция доступна по ссылке [http://openbox.org/wiki/Help:Autostart Help:Autostart] на сайте проекта Openbox.<br />
<br />
{{Note|Этот файл назывался autostart.sh до версии OpenBox 3.5.0. Если вы обновляетесь, то проверьте переименовали вы ли его, удалив в имени старого файла окончание .sh.}}<br />
<br />
== Темы и оформление ==<br />
<br />
:{{Box YELLOW||Дополнительная статья на эту тематику '''[[Openbox_Themes_and_Apps|Openbox Themes and Apps]]''' расскажет вам подробнее об изменении внешнего вида Openbox.}}<br />
<br />
=== Темы Openbox ===<br />
<br />
Темы управляют внешним видом окон, заголовков и кнопок. Также они контроллируют появление меню и режимы поступления информации на экран. Дополнительные темы доступны из стандартного репозитория.<br />
# pacman -S openbox-themes<br />
<br />
=== Курсоры, иконки, обои рабочего стола ===<br />
<br />
Пожалуйста смотрите [[Openbox_Themes_and_Apps#X11_Mouse_cursors|Openbox Themes and Apps]] для получения информации о перенастройке этих параметров.<br />
<br />
== Рекомендуемые программы ==<br />
:{{Box YELLOW||Дополнительная статья в wiki '''[[Openbox_Themes_and_Apps#Recommended_programs|Openbox Themes and Apps]]''' содержит информацию о приложениях, которые вам могут пригодиться при использовании Openbox.<br>Статья расскажет подробнее о панелях, треях, элементах управления звуком и других виджетах рабочего стола.}}<br />
<br />
По этой ссылке находится список [[Lightweight_Applications|Легковесных Программ]] из wiki. Большинство из них отлично работают с Openbox.<br />
<br />
=== Менеджеры входа в систему ===<br />
<br />
[http://slim.berlios.de/ SLiM] это графический менеджер входа в систему. Отличный выбор, если вы используете Openbox в качестве отдельного менеджера окон. Ссылка на статью о [[SLiM]] в wiki.<br />
<br />
[http://qingy.sourceforge.net/ Qingy] легкий, перенастраиваемый графический менеджер входа в систему. поддерживает вход в систему в консоль или X сессию. Qingy использует [http://www.directfb.org DirectFB]. Qingy не запускает X сессию пока вы не выберете сессию входа в X. Прочитайте статью в Arch wiki о [[Qingy|Qingy.]]<br />
<br />
=== Композитные эффекты для рабочего стола ===<br />
<br />
[[Xcompmgr]] это композитный оконный менеджер, способный отрисовывать тени, затухания и прозрачные окна для Openbox и других оконных менеджеров.<br />
{{Note|Xcompmgr больше не обновляется. Он имеет несколько проблем и маловероятно, что они будут исправлены. (Например, Xcompmgr имеется проблема с ''tint2 0.9'': значки в системном трее искажаются.)}}<br />
<br />
[[Cairo Compmgr]] это многоцелевой композитный оконный менеджер [[wikipedia:Cairo_(software)|Cairo]]. И обычно он более подходящий выбор.<br />
<br />
=== Панели и треи ===<br />
<br />
Дополнительные материалы можно найти здесь [[Openbox_Themes_and_Apps#Panels, trays, pagers|Openbox Themes and Apps]].<br />
<br />
=== Файловые менеджеры ===<br />
<br />
Тройка популярнейших файловых менеджеров:<br />
* [[Thunar]]. Thunar поддерживает автомонтирование носителей и другие функции через плагины и дополнения. <br />
# pacman -S thunar<br />
* [http://roscidus.com/desktop/ ROX] (ROX также может отображать иконки на рабочем столе)<br />
# pacman -S rox<br />
* [http://pcmanfm.sourceforge.net PCManFM]<br />
# pacman -S pcmanfm # PcManFM также может отображать иконки на рабочем столе.<br />
# pacman -S ntfs-3g # Позволит PCManFM работать с NTFS разделами и устройствами.<br />
<br />
Больше информации можно найти по ссылке [[Openbox_Themes_and_Apps#File_managers|Openbox Themes and Apps]]. Дополнительная статья о других удобных утилитах: диалог запуска программ [http://sourceforge.net/projects/gmrun gmrun], менеджеры буфера обмена, регуляторы громкости звука, и т.д..<br />
<br />
== Советы и хитрости ==<br />
<br />
===Поведение подобное Aero Snap===<br />
Windows 7 поддерживает уникальную функцию поведения окон, она заключается в том, что при перемещении окна к краю экрана оно цепляется за него. Этот эффект может быть включен в Openbox. Подробнее написано [http://ubuntuforums.org/showthread.php?t=1796793 здесь].<br />
<br />
=== Ассоциации файлов ===<br />
Openbox и другие приложения, которые вы используете с ним, не интегрированы друг в друга, поэтому вы можете столкнуться с проблемами при открытии файлов в вашем файловом менеджере. Просто ваш менеджер файлов может не знать с помощью, какой программы открывать данный тип файла.<br />
<br />
Пакет в AUR называемый [https://aur.archlinux.org/packages.php?ID=23170 gnome-defaults-list] содержит список типов файлов и связанных с ними программ для рабочего стола Gnome. Этот список устанавливается в {{ic|/etc/gnome/defaults.list.}}<br />
<br />
Откройте этот файл с помощью вашего текстового редактора. Теперь вы можете заменить предложенные там приложения на те, которые вы выбрали. Например, totem <=> vlc или eog <=> mirage. Сохраните файл {{ic|~/.local/share/applications/defaults.list}}.<br />
<br />
Другой способ установить ассоциации - установить пакет ''perl-file-mimeinfo'' из репозитория и вызвать '''mimeopen''', например, так:<br />
mimeopen -d /path/to/file<br />
У вас спросят каким приложением открыть /path/to/file:<br />
Please choose a default application for files of type text/plain<br />
1) notepad (wine-extension-txt)<br />
2) Leafpad (leafpad)<br />
3) OpenOffice.org Writer (writer)<br />
4) gVim (gvim)<br />
5) Other...<br />
Ваш ответ установит приложение по умолчанию для открытия всех файлов данного типа. Описание ассоциаций приложений к типам файлов {{ic|/usr/bin/perlbin/vendor/mimetype}}.<br />
<br />
=== Копирование и вставка ===<br />
<br />
Из терминала '''Ctrl+Insert''' для копирования и '''Shift+Insert''' для вставки.<br />
<br />
Также '''Ctrl+Shift+C''' для копирования и '''mouse middle-click''' для вставки (в терминалах).<br />
<br />
Другие приложения возможно используют другие сочетания клавиш для копирования и вставки.<br />
<br />
=== Прозрачность окон ===<br />
<br />
Программа transset-df (практически такая же как ''transset'') устанавливается с помощью команды pacman -S transset-df. С помощью transset-df вы сможете включать прозрачность окон на лету.<br />
<br />
Для этого поместите в строки представленные ниже {{ic|~/.config/openbox/rc.xml}} таким образом вы сможете с помощью скроллинга мыши регулировать прозрачность окон когда курсор мыши находится над заголовком окна (это внутри секции <mouse>):<br />
<br />
<context name="Titlebar"><br />
. . .<br />
<mousebind button="Up" action="Click"><br />
<action name= "Execute" ><br />
<execute>transset-df -p .2 --inc </execute><br />
</action><br />
</mousebind><br />
<mousebind button="Down" action="Click"><br />
<action name= "Execute" ><br />
<execute>transset-df -p .2 --dec </execute><br />
</action><br />
</mousebind><br />
. . .<br />
</context><br />
Это будет работать только когда нет каких-то дополнительных действий назначенных в этой группе действий.<br />
<br />
=== Значения Xprop для приложений ===<br />
Если вы используете специальные настройки для приложений, вы можете найти этот удобный алиас для bash:<br />
<br />
alias xp='xprop | grep "WM_WINDOW_ROLE\|WM_CLASS" && echo "WM_CLASS(STRING) = \"NAME\", \"CLASS\""'<br />
<br />
Для использования запустите xp и кликните на запущенную программу, для которой вы хотите определить собственные настройки. Результат отобразит только информацию, требуемую для Openbox, а именно WM_WINDOW_ROLE и WM_CLASS (имя и класс):<br />
<br />
[thayer@dublin:~] $ xp<br />
WM_WINDOW_ROLE(STRING) = "roster"<br />
WM_CLASS(STRING) = "gajim.py", "Gajim.py"<br />
WM_CLASS(STRING) = "NAME", "CLASS"<br />
<br />
==== Xprop для Firefox ====<br />
<br />
В любом случае, Firefox и подобные приложения игнорируют правила (e.g. <desktop>) не меньше {{Ic|class&#61;"Firefox*"}} используется. Это применяет любое значение xprop может сообщить для программного класса WM_CLASS.<br />
<br />
=== Привязка меню к кнопке ===<br />
<br />
Некоторым людям может потребоваться привязать меню Openbox (или другое меню) к кнопке. Это полезно для создания панели кнопок всплывающего меню. This is useful for creating a panel button to pop up a menu. Хотя Openbox не поддерживает это, программа '''xdotool''' эмулирует нажатие клавиш. Openbox может быть настроен так, что при нажатии клавиши выполняется действие ''ShowMenu''.<br />
<br />
Пакет [https://aur.archlinux.org/packages.php?do_Details=1&ID=14789&O=0&L=0&C=0&K=xdotool&SB=n&SO=a&PP=25&do_MyPackages=0&do_Orphans=0&SeB=nd xdotool] доступен в AUR. После установки ''xdotool'', добавьте следующее в секцию <keyboard> в вашем файле '''{{ic|rc.xml}}''':<br />
<keybind key="A-C-q"><br />
<action name="ShowMenu"><br />
<menu>root-menu</menu><br />
</action><br />
</keybind><br />
Перезапустите/переконфигурируйте Openbox. Эта команда вызовет меню в точке, где находится курсор мыши. Команда распространяется как есть, привязка к объектам, или размещение в скрипте.<br />
$ xdotool key ctrl+alt+q<br />
<br />
Конечно, вы можете изменить ключевые ярлыки на ваш вкус. Рассмотрим отрывок для '''tint2''' (панель задач) файл настроек, который показывает выпадающее меню по клику по области с часами. Каждая комбинация клавиш установлена на открытие файла конфигурации '''{{ic|rc.xml}}''' меню Openbox. Отличие right?click от left?click:<br />
clock_rclick_command = xdotool key --clearmodifiers "ctrl+XF86PowerOff"<br />
clock_lclick_command = xdotool key --clearmodifiers "alt+XF86PowerOff"<br />
<br />
=== Urxvt в качестве фона рабочего стола ===<br />
<br />
С Openbox запустить терминал в качестве фона рабочего стола крайне просто. Вам не потребуется использовать '''devilspie'''.<br />
<br />
Сначала вы должны включить прозрачность, откройте ваш {{ic|~/.Xdefaults}} (если он не существует, то создайте его в домашней директории).<br />
URxvt*transparent:true<br />
URxvt*scrollBar:false<br />
URxvt*geometry:124x24 #Я не использую полный экран, если вы хотите терминал на весь экран, то не беспокойтесь как это сделать написано ниже.<br />
URxvt*borderLess:true<br />
URxvt*foreground:Black #Цвет шрифта. Мои обои рабочего стола белые, возможно вы захотите изменить его на белый.<br />
<br />
Затем отредактируйте файл {{ic|.config/openbox/rc.xml}}:<br />
<application name="URxvt"><br />
<decor>no</decor><br />
<focus>yes</focus><br />
<position><br />
<x>center</x><br />
<y>20</y><br />
</position><br />
<layer>below</layer><br />
<desktop>all</desktop><br />
<maximized>true</maximized> #Используйте только если вы хотите терминал на весь экран.<br />
</application><br />
<br />
''Магия'' приходит со строчкой {{Ic|<layer>below</layer>}}, которая помещает приложение под все остальные. Здесь Urxvt отображен на всех рабочих столах, измените это для вашего удобства.<br />
<br />
{{Note|1=Вместо использования <application name="URxvt"> вы можете дать другое имя (например, "URxvt-bg"), и использовать опцию -name при запуске uxrvt. Такой способ работает только для urxvt, для которого вы выбрали имя URxvt-bg введите и модифицируйте правила для этого приложения в rc.xml. Например: urxvt -name URxvt-bg (учитывая регистр)}}<br />
<br />
====Переключение между рабочими столами====<br />
<br />
<s>Вышеописанный метод минимизирует Urxvt когда вы используете команду ToggleShowDesktop. Во избежание этого воспользуйтесь [https://bbs.archlinux.org/viewtopic.php?pid=865844#p865844 этим постом]. Здесь требуется редактировать исходный код Urxvt.</s><br />
{{Note|1=Этот метод возможно уже не работает после недавнего обновления, сейчас происходит утечка памяти когда запущен пропатченный Urxvt.}}<br />
Рабочим остается только метод, описанный [https://bbs.archlinux.org/viewtopic.php?pid=929792#p929792 здесь]. Он делает ToggleShowDesktop таким, чтобы не восстанавливал другие приложения на рабочем столе, когда ToggleShowDesktop запущен второй раз. Это так же дает возможность использовать различные терминалы, а не только Urxvt.<br />
<br />
=== Клавиши регулирования громкости на клавиатуре ===<br />
====ALSA====<br />
Если вы используете ALSA для вывода звука, вы можете воспользоваться программой amixer для регулирования громкости звука. Вы можете использовать сочетания клавиш и назначить им команды в Openbox. (Или в качестве альтернативы, вы можете попытаться найти настоящие имена для ваших мультимедийных клавиш и их карту.) Например, в секции <keyboard> файла rc.xml:<br />
<br />
<keybind key="W-Up"><br />
<action name="Execute"><br />
<command>amixer set Master 5%+</command><br />
</action><br />
</keybind><br />
<br />
Таким образом, вы назначите комбинации клавиш Windows key + Up arrow возможность повысить уровень громкости канала Master. Соответственно, чтобы понизить:<br />
<br />
<keybind key="W-Down"><br />
<action name="Execute"><br />
<command>amixer set Master 5%-</command><br />
</action><br />
</keybind><br />
<br />
В качестве другого примера - XF86Audio:<br />
<br />
<keybind key="XF86AudioRaiseVolume"><br />
<action name="Execute"><br />
<command>amixer set Master 5%+ unmute</command><br />
</action><br />
</keybind><br />
<keybind key="XF86AudioLowerVolume"><br />
<action name="Execute"><br />
<command>amixer set Master 5%- unmute</command><br />
</action><br />
</keybind><br />
<keybind key="XF86AudioMute"><br />
<action name="Execute"><br />
<command>amixer set Master toggle</command><br />
</action><br />
</keybind><br />
<br />
Пример, приведенный выше должен работать для большинства мультимедийных клавиатур. Он должен увеличивать, уменьшать и выключать звук канала Master для вашего аудиоустройства. Помните так же об этом:<br />
<br />
* Клавиша "Mute" должна включать канал Master если он уже выключен.<br />
* Клавиши "Raise" и "Lower" должны включать канал Master если он выключен.<br />
<br />
====Pulseaudio====<br />
Если вместе с ALSA вы используете pulseaudio, то в этом случае настройки несколько отличаются, amixer должен использовать pulse.<br />
<br />
<keybind key="XF86AudioRaiseVolume"><br />
<action name="Execute"><br />
<command>amixer -D pulse set Master 5%+ unmute</command><br />
</action><br />
</keybind><br />
<keybind key="XF86AudioLowerVolume"><br />
<action name="Execute"><br />
<command>amixer -D pulse set Master 5%- unmute</command><br />
</action><br />
</keybind><br />
<keybind key="XF86AudioMute"><br />
<action name="Execute"><br />
<command>amixer set Master toggle</command><br />
</action><br />
</keybind><br />
<br />
Эти сочетания клавиш должны работать для большинства систем. Другие примеры можно найти [http://ubuntuforums.org/showthread.php?t=987149 здесь].<br />
<br />
===OpenBox выключение/перезагрузка ===<br />
Смотри статью SUDO[[Sudo_%28%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9%29#OpenBox_.D0.B2.D1.8B.D0.BA.D0.BB.D1.8E.D1.87.D0.B5.D0.BD.D0.B8.D0.B5.2F.D0.BF.D0.B5.D1.80.D0.B5.D0.B7.D0.B0.D0.B3.D1.80.D1.83.D0.B7.D0.BA.D0.B0]]<br />
<br />
== Устранение неисправностей Openbox 3.5 ==<br />
=== X server ''падает'' ===<br />
Проблема была обнаружена после обновления до версии 3.5, поэтому X server может ''падать'' при попытке запуска Openbox, в конце вы получаете такое сообщение:<br />
(metacity:25137): GLib-WARNING **: In call to g_spawn_sync(), exit status of a child process \<br />
was requested but SIGCHLD action was set to SIG_IGN and ECHILD was received by waitpid(), so exit \<br />
status can't be returned. This is a bug in the program calling g_spawn_sync(); either do not request \<br />
the exit status, or do not set the SIGCHLD action.<br />
xinit: connection to X server lost<br />
waiting for X server to shut down<br />
В этом случае, какие-то проблемы с пакетом metacity привели к ''падению'' X server. Удаление пакетов metacity и compiz-decorator-gtk решит проблему. Хотя, позже было замечено, что просто переустановка пакета может помочь, но сначала надо удалить старый пакет, а только потом ставить новый.<br />
<br />
Притом, много похожих вариантов можно найти в Интернете, поэтому не только пакет metacity может быть причиной ''падения'' X server.<br />
Итак, если от какого-то другого пакета, кроме metacity вами было получено сообщение об ошибке, попробуйте переустановить его (или удалить) в попытке избавиться от этого сообщения X server.<br />
<br />
=== Автозапуск лишних приложений в 3.5 ===<br />
Лишние приложения запускаются с вашей сессией Openbox, даже если они не находятся в вашем скрипте автозапуска ~/.config/openbox/autostart ?<br />
<br />
Проверьте папку ~/.config/autostart/ , она может содержать файлы от прошлых ваших окружений рабочего стола (Gnome, KDE, etc.), и удалите ненужные файлы.<br />
<br />
=== SSH агент больше не запускается ===<br />
В то время как Openbox 3.4.x разрешалось запускать SSH агента из $XDG_CONFIG_HOME/openbox/autostart{,.sh}, с 3.5 это больше не работает. Вам требуется положить ваш код в: $XDG_CONFIG_HOME/openbox/environment, например:<br />
<br />
<pre><br />
SSHAGENT="/usr/bin/ssh-agent"<br />
SSHAGENTARGS="-s"<br />
if [ -z "$SSH_AUTH_SOCK" -a -x "$SSHAGENT" ]; then<br />
eval `$SSHAGENT $SSHAGENTARGS`<br />
trap "kill $SSH_AGENT_PID" 0<br />
fi<br />
</pre><br />
<br />
=== Openbox не запускает сессию с D-Bus ===<br />
Точно так де как и с SSH агентом, множество людей используют D-Bus код в $XDG_CONFIG_HOME/openbox/autostart{,.sh} - это больше не работает (например Thunar больше не видит ни одного съемного устройства).<br />
<br />
Чтобы исправить это переместите код в $XDG_CONFIG_HOME/openbox/environment:<br />
<pre><br />
if which dbus-launch >/dev/null && test -z "$DBUS_SESSION_BUS_ADDRESS"; then<br />
eval `dbus-launch --sh-syntax --exit-with-session`<br />
fi<br />
</pre><br />
<br />
Или же вы можете начинать сессию openbox-session с dbus-launch например, через файл ~/.xinitrc.<br />
<br />
== Ресурсы ==<br />
<br />
* [http://openbox.org/ Openbox Website] &ndash; Официальный веб-сайт<br />
* [http://planetob.openmonkey.com/ Planet Openbox] &ndash; Портал новостей о Openbox<br />
* [http://www.box-look.org/ Box-Look.org] &ndash; Хороший ресурс с темами и соответствующими артами<br />
* [https://bbs.archlinux.org/viewtopic.php?id=93126 Openbox Hacks and Configs Thread] @ Arch Linux Forums<br />
* [https://bbs.archlinux.org/viewtopic.php?id=45692 Openbox Screenshots Thread] @ Arch Linux Forums<br />
* [http://snott.net/linux/using-gnome3-with-openbox/ Installation and configuration tutorial] Использование gnome3 с Openbox<br />
* [http://ru.wikibooks.org/wiki/OpenBox_Action Викиучебник] по настройке Openbox</div>
Zyamilon
https://wiki.archlinux.org/index.php?title=LXDE_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)&diff=240160
LXDE (Русский)
2012-12-13T14:50:17Z
<p>Zyamilon: /* Редактирование меню приложений */ Добавил маленький раздел по редактированию меню. Нужно проверить/утвердить перевод :)</p>
<hr />
<div>[[Category:Русский]]<br />
[[cs:LXDE]]<br />
[[en:LXDE]]<br />
[[es:LXDE]]<br />
[[fr:LXDE]]<br />
[[it:LXDE]]<br />
[[pl:LXDE]]<br />
[[sr:LXDE]]<br />
[[tr:LXDE_Masaüstü_Ortamı]]<br />
[[uk:LXDE]]<br />
[[zh-CN:LXDE]]<br />
[[zh-TW:LXDE]]<br />
[[Category:Desktop environments (Русский)]]<br />
<br />
{{Article summary start}}<br />
{{Article summary text|[http://wiki.lxde.org/ru LXDE], (от англ. Lightweight X11 Desktop Environment) — это свободная среда рабочего стола для UNIX и других POSIX-совместимых систем, таких как GNU/Linux. Проект LXDE направлен на создание новой быстрой и легковесной среды рабочего стола. LXDE создана не мощной и перегруженной функциями, а простой в использовании, достаточно легкой и не требовательной к ресурсам системы.}}<br />
{{Article summary text|Создатели не стремились тесно интегрировать различные компоненты, наоборот, каждый из них может использоваться отдельно с несколькими зависимостями.}}<br />
{{Article summary text|LXDE использует Openbox как оконный менеджер по умолчанию и стремится предложить быстрый и легкий рабочий стол, основанный на взаимно независимых компонентах.}}<br />
{{Article summary end}}<br />
<br />
[http://lxde.org/ LXDE.org | Lightweight X11 Desktop Environment]: ''"Одно из главных достоинств LXDE - небольшие требования к железу. Философия LXDE - это лёгкость, полезность и практичность."''<br />
<br />
== Установка ==<br />
<br />
LXDE модульный и вы можете выбирать только те пакеты, которые вам нужны.<br />
<br />
Минимально необходимые пакеты для запуска LXDE: {{Pkg|lxde-common}}, {{Pkg|lxsession}}, {{Pkg|desktop-file-utils}} и оконный менеджер.<br />
<br />
Вы можете установить группу пакетов LXDE:<br />
<br />
# pacman -S lxde<br />
<br />
Установятся следующие пакеты:<br />
<br />
* {{Pkg|gpicview}}: Простой и легкий просмоторщик изображений<br />
* {{Pkg|libfm}}: Библиотека для работы с файлами<br />
* {{Pkg|lxappearance}}: Редактор тем для изменения GTK+ тем, иконок и шрифтов для приложений GTK<br />
* {{Pkg|lxappearance-obconf}}: Плагин для настройки Openbox через LXAppearance<br />
* {{Pkg|lxde-common}}: Установки по умолчанию конфигурационных файлов для большинства интегрированных компонентов LXDE<br />
* {{Pkg|lxde-icon-theme}}: Тема значков LXDE<br />
* {{Pkg|lxdm}}: Легковесный менеджер дисплея приветствия<br />
* {{Pkg|lxinput}}: Конфигурационная утилита для вашей клавиатуры и мышки в LXDE <br />
* {{Pkg|lxlauncher}}: Панель запуска приложений для нетбуков<br />
* {{Pkg|lxmenu-data}}: Коллекция файлов адаптирующая меню LXDE под стандарты спецификации freedesktop.org<br />
* {{Pkg|lxmusic}}: Минималистичный проигрыватель музыки базирующийся на xmms2 <br />
* {{Pkg|lxpanel}}: Панель задач с менеджером приложений, меню программ и апплетов<br />
* {{Pkg|lxrandr}}: Менеджер экрана для LXDE<br />
* {{Pkg|lxsession}}: Совместимый X11 менеджер сессий с поддержкой выключения, перезагрузки и ждущего режима<br />
* {{Pkg|lxshortcut}}: Простое средство редактирования ярлычков<br />
* {{Pkg|lxtask}}: Диспетчер задач и системный монитор LXDE<br />
* {{Pkg|lxterminal}}: Стандартный эмулятор терминала для LXDE<br />
* {{Pkg|menu-cache}}: A daemon which automatically generates the menu for LXDE<br />
* {{Pkg|openbox}}: Aлегкий и удобно-конфигурируемый менеджер окон (рекомендуемый менеджер, разработанный вне проекта LXDE).<br />
* {{Pkg|pcmanfm}}: Файловый менеджер, функционал рабочего стола и обоев<br />
<br />
Вам также следует установить [[gamin|Gamin]]. [[gamin|Gamin]] - это инструмент для отслеживания изменений в файлах и директориях, который является реализацией подсистемы FAM. Запуск производится по требованию программ, которые им поддерживаются, поэтому не требуется отдельно демона, подобного [[FAM_(Русский)|FAM]]. Если у Вас установлен [[FAM_(Русский)|FAM]] - удалите запуск этого демона из {{ic|/etc/rc.conf}} и остановите его перед установкой [[gamin|Gamin]]<br />
pacman -S gamin<br />
<br />
Другие легковесные приложения, которые рекомендуется использовать на слабых системах:<br />
* {{Pkg|leafpad}}: Простой и легкий текстовый редактор<br />
* {{Pkg|mousepad}}: Простой текстовый редактор (является текстовым редактором по умолчанию среды Xfce)<br />
* {{Pkg|xarchiver}}: Легкий архиватор<br />
* {{Pkg|obconf}}: Инструмент для настройки тем и стилей Openbox<br />
<br />
== Запуск окружения LXDE ==<br />
Есть несколько способов запустить LXDE.<br />
=== Display Managers ===<br />
Если Вы используете менеджеры [[SLiM_(Русский)|SLiM]], [[Display_Manager_(Русский)|GDM]], или [[KDM_(Русский)|KDM]], в настройках сессии нужно выбрать LXDE. <br />
<br />
Инструкция по использованию LXDM [https://wiki.archlinux.org/index.php/LXDE#LXDM ниже на этой странице].<br />
<br />
Если не используете менеджер дисплея приветствия добавьте<br />
<br />
export DESKTOP_SESSION=LXDE<br />
<br />
в ваш <code>~/.bash_profile</code> Для првавильного функционирования [[Xdg-open]]<br />
<br />
=== Консоль ===<br />
Для использования команды '''startx''' необходимо добавить в файл [[Beginners'_Guide#C:_Test_X|{{ic|~/.xinitrc}}]] команду запуска LXDE:<br />
<br />
exec startlxde<br />
<br />
Если Вы хотите выполнять '''startx''' автоматически при загрузке, прочитайте статью [[Start X at Boot (Русский)#Запуск X выбранным пользователем без логина | Запуск X при загрузке]].<br />
<br />
'''Для других задач Вы должны быть уверены, что демон dbus запущен.'''<br />
<br />
== Советы и рекомендации ==<br />
=== Автомонтирвание ===<br />
[[PCManFM (Русский)#Работа с томами]]<br />
<br />
=== Автозапуск программ ===<br />
; .desktop файлы<br />
<br />
Вы можете скопировать ярлык программы {{ic|.desktop}} из {{ic|/usr/share/applications/}} в {{ic|~/.config/autostart/}}. Например, добавим lxterminal в автозапуск:<br />
$ ln -s /usr/share/applications/lxterminal.desktop ~/.config/autostart/<br />
После добавления {{ic|.desktop}} файлов Вы можете упралять ими с помощью {{AUR|lxsession-edit}}.<br />
<br />
; autostart файл<br />
Второй способ. Использование файла {{ic|~/.config/lxsession/LXDE/autostart}}. Этот файл не скрипт, но каждая строка представляет собой команду, которая будет выполнена, если строка начинается с символа @, команда после @ будет автоматически повторно выполняться, если она падает. Например, чтобы выполнить lxterminal и leafpad автоматически при запуске:<br />
{{hc|~/.config/lxsession/LXDE/autostart|<br />
@lxterminal<br />
@leafpad<br />
}}<br />
{{Note|Ппсле команды '''ненужно''' ставить символ &}}<br />
Существует также глобальный файл автозапуска {{ic|/etc/xdg/lxsession/LXDE/autostart}}. Если эти файлы присутствуют одновременно, то оба будут выполнены.<br />
<br />
=== Горячие клавиши ===<br />
Управление горячими клавишами осуществляется через Openbox и подробно описаны [http://openbox.org/wiki/Help:Bindings здесь]. Пользователи LXDE должны следовать этим инструкциям, чтобы отредактировать файл '''~/.config/openbox/lxde-rc.xml'''<br />
<br />
Дополнительный графический интерфейс для редактирования горячих клавиш - {{AUR | obkey}} доступен в AUR. Поумолчанию obkey редактирует файл rc.xml, Но вы можете использовать его в LXDE таким образом:<br />
<br />
$ obkey ~/.config/openbox/lxde-rc.xml<br />
<br />
Больше информации о obkey [http://code.google.com/p/obkey/ здесь].<br />
<br />
=== Курсоры ===<br />
Полная статья: [[X11 Cursors]].<br />
<br />
Последний {{AUR|lxappearance2-git}} в [[AUR]] предоставляет функциональные возможности для изменения тем курсора. Если Вы не хотите устанавливать экспериментальный lxappearance2, можете указать свой курсор в файле {{ic|~/.Xdefaults}}. См. [[X11_Cursors#Choosing_and_Configuring_Cursor_Themes|Configuring Cursor Themes]].<br />
<br />
Простым способом является добавление курсор к теме по умолчанию. Сначала нужно создать каталог:<br />
# mkdir /usr/share/icons/default<br />
Then you can specify to add to the icon theme the cursor. This will use the {{Pkg|xcursor-bluecurve}} pointer theme:<br />
{{hc|/usr/share/icons/default/index.theme|2=<br />
[icon theme]<br />
Inherits=Bluecurve<br />
}}<br />
<br />
=== Шрифты настройка ===<br />
Для установки шрифтов, вы можете использовать {{Pkg|lxappearance}} и установить основной шрифт. Для настройки других шрифтов можно использовать '''Openbox configuration tool''' ObConf:<br />
# pacman -S obconf<br />
<br />
=== Раскладка клавиатуры ===<br />
====udev====<br />
<br />
Когда вы используете [[udev]], конфигурация ввода по умолчанию записываются в {{ic|/etc/X11/xorg.conf.d/10-evdev.conf}} в {{ic|Section "InputClass"}}. Вы можете редактировать этот или создать новый файл {{ic|/etc/X11/xorg.conf.d/20-keyboard.conf}} по следующему примеру (переключение раскладки клавишами Alt+Shift, индикация CAPS-диодом на клавиатуре):<br />
Section "InputClass"<br />
Identifier "evdev keyboard catchall"<br />
MatchIsKeyboard "on"<br />
MatchDevicePath "/dev/input/event*"<br />
Driver "evdev"<br />
Option "XkbModel" "pc104"<br />
Option "XkbLayout" "us,ru"<br />
Option "XkbOptions" "grp:alt_shift_toggle,grp_led:caps"<br />
EndSection<br />
Вы можете найти список всех значений в {{ic|/usr/share/X11/xkb/rules/base.lst}}.<br />
<br />
====Другие способы====<br />
<br />
1 способ:<br />
Добавьте в /etc/xdg/lxsession/LXDE/autostart следующие строки перед @lxpanel --profile LXDE:<br />
@setxkbmap -option grp:switch,grp:alt_shift_toggle,grp_led:scroll us,ru<br />
или в ~/.config/lxsession/LXDE/autostart (для конкретного пользователя):<br />
setxkbmap -option grp:switch,grp:alt_shift_toggle,grp_led:scroll us,ru<br />
2 способ:<br />
Create /etc/xdg/autostart/setxkmap.desktop as following:<br />
[Desktop Entry]<br />
Version=1.0<br />
Encoding=UTF-8<br />
Name=Fix keyboard settings<br />
Exec=setxkbmap -rules xorg -layout "us,ru" -variant ",winkeys" -option "grp:ctrl_shift_toggle"<br />
Terminal=false<br />
Type=Application <br />
3 способ:<br />
Добавьте в ~/.Xkbmap, для текущего пользователя, или в /etc/X11/Xkbmap, для всей системы, строку:<br />
-option grp:ctrl_shift_toggle,grp_led:scroll us,ru<br />
4 способ:<br />
Добавьте следующую строку в /etc/X11/xinit/xinitrc или ~/.xinitrc:<br />
setxkbmap -option grp:ctrl_shift_toggle,grp_led:scroll us,ru<br />
5 способ:<br />
Установите {{AUR | fbxkb}} из [[AUR]]<br />
<br />
6 способ:<br />
[[Xorg (Русский)#Переключение раскладок средствами X.org]]<br />
<br />
====Посредством LXDE====<br />
<br />
# Правый клик на панели задач<br />
# “Добавить/убрать элементы панели”<br />
# “Добавить”<br />
# “Индикатор раскладок клавиатуры”<br />
<br />
=== LXDM ===<br />
LXDE теперь обеспечивает экспериментальную менеджер дисплея приветствия LXDM. Это реализовано с GTK+ и [http://blog.lxde.org/?p=595 supports theming].<br />
<br />
====Установка LXDM====<br />
# pacman -S lxdm<br />
<br />
Для автоматического запуска LXDM Вы можете редактировать {{ic|/etc/inittab}} или {{ic|/etc/rc.conf}}.<br />
Для получения дополнительной информации см. [[Display Manager]].<br />
<br />
====Настройка====<br />
Все конфигурационные файлы для LXDM расположены в {{ic|/etc/lxdm}}. Основной файл конфигурации {{ic|lxdm.conf}} хорошо документирован в его коментарии. Файл, {{ic|Xsession}}, является общесистемным и не должен редактироваться. Другие файлы - это bash скрипты, которые выполняются при наступлении определенных событий в LXDM.<br />
К ним относятся:<br />
# {{ic|LoginReady}}: Выполняется с правами root когда LXDM готова показать окно входа в систему.<br />
# {{ic|PreLogin}}: Выполняется с правами root перед входом пользователя.<br />
# {{ic|PostLogin}}: Выполняется с правами авторизованного пользователя сразу после входа.<br />
# {{ic|PostLogout}}: Выполняется с правами авторизованного пользователя после выхода.<br />
# {{ic|PreReboot}}: Выполняется с правами root перед перезагрузкой компьютера с LXDM.<br />
# {{ic|PreShutdown}}: Выполняется с правами root перед выключением компьютера с LXDM.<br />
<br />
=====Ожидаемое поведение после Logout=====<br />
Может быть немного удивительно, что LXDM по умолчанию не очищает фон рабочего стола и не убивает процессы пользователя после его выхода. Для решения проблемы необходимо добавить в файл {{ic|/etc/lxdm/PostLogout}}:<br />
<br />
#!/bin/sh<br />
<br />
# Kills all your processes when you log out.<br />
killall --user $USER -TERM<br />
<br />
# Set's the desktop background to solid black. Useful if you have multiple monitors.<br />
xsetroot -solid black<br />
<br />
=====Автоматический вход=====<br />
Если вы хотите войти в учетную запись без ввода пароля, найдите строку в {{ic|/etc/lxdm/lxdm.conf}}, которая выглядит следующим образом:<br />
#autologin=username<br />
Раскомментируйте его и подставьте нужное имя пользователя, вместо "username".<br />
<br />
=== [[PCManFM]] ===<br />
Если вы хотите иметь доступ к Корзине, монтированию томов и folder/file tracking Вам необходима поддержка gvfs:<br />
<br />
pacman -S polkit-gnome gvfs<br />
<br />
polkit-gnome обеспечивает аутентификацию и должен быть запущен при входе в систему:<br />
<br />
$ mkdir -p ~/.config/autostart<br />
$ cp /etc/xdg/autostart/polkit-gnome-authentication-agent-1.desktop ~/.config/autostart<br />
<br />
В Arch'е этот файл в настоящее время не работает на некоторых системах. Если у вас проблема запуском, удалите строку<br />
<br />
OnlyShowIn=GNOME;XFCE;<br />
<br />
из файла {{ic|~/.config/autostart/polkit-gnome-authentication-agent-1.desktop}}:<br />
<br />
[http://wiki.lxde.org/en/LXDE:PCManFM_build_and_setup_guide#Setup_Runtime_Environment_Correctly PCManFM @ LXDE wiki]<br />
<br />
=== Замена оконного менеджера === <br />
[[Openbox]], стандартный менеджер окон LXDE, может быть заменен другими. Например fvwm, icewm, dwm, metacity, compiz ...etc.<br />
<br />
LXDE будет пытаться использовать оконный менеджер из пользовательского фаула конфигурации lxsession {{ic|~/.config/lxsession/LXDE/desktop.conf}}.Если его не существует, будет пытаться использовать глобальный файл конфигурации {{ic|/etc/xdg/lxsession/LXDE/desktop.conf}}.<br />
<br />
Замените команду openbox-lxde на ваш менеджер окон:<br />
[Session]<br />
window_manager=openbox-lxde<br />
Для metacity:<br />
window_manager=metacity<br />
Для compiz:<br />
window_manager=compiz ccp --indirect-rendering<br />
<br />
=== Выключение, Перезагрузка (LXSession-logout) ===<br />
Для работы Выключения, Перезагрузки, Режима сна и Режима ожидания Должен быть запущен dbus. Должен быть установлен пакет upower.<br />
<br />
# pacman -S upower<br />
<br />
См. [[xinitrc#Preserving the session]] подробнее о logind/ConsoleKit.<br />
<br />
=== Редактирование меню приложений ===<br />
{{translateme}}<br />
(нужно проверить перевод). Ссылка на [[LXDE#Application_Menu_Editing|оригинал]]<br />
<br />
<br />
Меню приложений работает через передачу {{ic|.desktop}} файлов, которые расположены в {{ic|/usr/share/applications}}. Многие DE запускают программы, которые supersede эти настройки для кастомизации меню. Для LXDE еще только создают редактор меню приложений, но вы можете настроить его вручную, если нужно. Сторонние редакторы меню вы можете найти в [[AUR]] - {{aur|lxmed}}.<br />
<br />
Чтобы добавить или редактировать элемент меню, создайте или сделайте ссылку на {{ic|.desktop}} файл в {{ic|/usr/share/applications}}. Смотрите [http://standards.freedesktop.org/desktop-entry-spec/latest/ the desktop entry specification] на freedesktop.org для получения информации о структуре {{ic|.desktop}} файлов.<br />
<br />
Для удаления элементов из меню вместо удаления {{ic|.desktop}} файлов, вы можете редактировать файл элемента, добавляя следующую строку:<br />
NoDisplay=true.<br />
Для ускорения процесса редактирования большого числа файлов вы можете поместить их в цикл. Например:<br />
cd /usr/share/applications<br />
for i in program1.desktop program2.desktop ...; do cp /usr/share/applications/$i \<br />
/home/user/.local/share/applications/; echo "NoDisplay=true" >> \<br />
/home/user/.local/share/applications/$i; done<br />
Это будет работать для всех приложений, исключая KDE. Для них единственный путь удалить их из списка меню - зайти в KDE и использовать собственный редактор меню. Для каждого элемента, который вы не желаете лицезреть, проверьте опцию 'Show only in KDE' (''отображать только в KDE''). Если добавление NoDisplay=True не работает, вы можете добавить ShowOnlyIn=XFCE.</div>
Zyamilon
https://wiki.archlinux.org/index.php?title=LXDE_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)&diff=240159
LXDE (Русский)
2012-12-13T14:48:56Z
<p>Zyamilon: /* Редактирование меню приложений */</p>
<hr />
<div>[[Category:Русский]]<br />
[[cs:LXDE]]<br />
[[en:LXDE]]<br />
[[es:LXDE]]<br />
[[fr:LXDE]]<br />
[[it:LXDE]]<br />
[[pl:LXDE]]<br />
[[sr:LXDE]]<br />
[[tr:LXDE_Masaüstü_Ortamı]]<br />
[[uk:LXDE]]<br />
[[zh-CN:LXDE]]<br />
[[zh-TW:LXDE]]<br />
[[Category:Desktop environments (Русский)]]<br />
<br />
{{Article summary start}}<br />
{{Article summary text|[http://wiki.lxde.org/ru LXDE], (от англ. Lightweight X11 Desktop Environment) — это свободная среда рабочего стола для UNIX и других POSIX-совместимых систем, таких как GNU/Linux. Проект LXDE направлен на создание новой быстрой и легковесной среды рабочего стола. LXDE создана не мощной и перегруженной функциями, а простой в использовании, достаточно легкой и не требовательной к ресурсам системы.}}<br />
{{Article summary text|Создатели не стремились тесно интегрировать различные компоненты, наоборот, каждый из них может использоваться отдельно с несколькими зависимостями.}}<br />
{{Article summary text|LXDE использует Openbox как оконный менеджер по умолчанию и стремится предложить быстрый и легкий рабочий стол, основанный на взаимно независимых компонентах.}}<br />
{{Article summary end}}<br />
<br />
[http://lxde.org/ LXDE.org | Lightweight X11 Desktop Environment]: ''"Одно из главных достоинств LXDE - небольшие требования к железу. Философия LXDE - это лёгкость, полезность и практичность."''<br />
<br />
== Установка ==<br />
<br />
LXDE модульный и вы можете выбирать только те пакеты, которые вам нужны.<br />
<br />
Минимально необходимые пакеты для запуска LXDE: {{Pkg|lxde-common}}, {{Pkg|lxsession}}, {{Pkg|desktop-file-utils}} и оконный менеджер.<br />
<br />
Вы можете установить группу пакетов LXDE:<br />
<br />
# pacman -S lxde<br />
<br />
Установятся следующие пакеты:<br />
<br />
* {{Pkg|gpicview}}: Простой и легкий просмоторщик изображений<br />
* {{Pkg|libfm}}: Библиотека для работы с файлами<br />
* {{Pkg|lxappearance}}: Редактор тем для изменения GTK+ тем, иконок и шрифтов для приложений GTK<br />
* {{Pkg|lxappearance-obconf}}: Плагин для настройки Openbox через LXAppearance<br />
* {{Pkg|lxde-common}}: Установки по умолчанию конфигурационных файлов для большинства интегрированных компонентов LXDE<br />
* {{Pkg|lxde-icon-theme}}: Тема значков LXDE<br />
* {{Pkg|lxdm}}: Легковесный менеджер дисплея приветствия<br />
* {{Pkg|lxinput}}: Конфигурационная утилита для вашей клавиатуры и мышки в LXDE <br />
* {{Pkg|lxlauncher}}: Панель запуска приложений для нетбуков<br />
* {{Pkg|lxmenu-data}}: Коллекция файлов адаптирующая меню LXDE под стандарты спецификации freedesktop.org<br />
* {{Pkg|lxmusic}}: Минималистичный проигрыватель музыки базирующийся на xmms2 <br />
* {{Pkg|lxpanel}}: Панель задач с менеджером приложений, меню программ и апплетов<br />
* {{Pkg|lxrandr}}: Менеджер экрана для LXDE<br />
* {{Pkg|lxsession}}: Совместимый X11 менеджер сессий с поддержкой выключения, перезагрузки и ждущего режима<br />
* {{Pkg|lxshortcut}}: Простое средство редактирования ярлычков<br />
* {{Pkg|lxtask}}: Диспетчер задач и системный монитор LXDE<br />
* {{Pkg|lxterminal}}: Стандартный эмулятор терминала для LXDE<br />
* {{Pkg|menu-cache}}: A daemon which automatically generates the menu for LXDE<br />
* {{Pkg|openbox}}: Aлегкий и удобно-конфигурируемый менеджер окон (рекомендуемый менеджер, разработанный вне проекта LXDE).<br />
* {{Pkg|pcmanfm}}: Файловый менеджер, функционал рабочего стола и обоев<br />
<br />
Вам также следует установить [[gamin|Gamin]]. [[gamin|Gamin]] - это инструмент для отслеживания изменений в файлах и директориях, который является реализацией подсистемы FAM. Запуск производится по требованию программ, которые им поддерживаются, поэтому не требуется отдельно демона, подобного [[FAM_(Русский)|FAM]]. Если у Вас установлен [[FAM_(Русский)|FAM]] - удалите запуск этого демона из {{ic|/etc/rc.conf}} и остановите его перед установкой [[gamin|Gamin]]<br />
pacman -S gamin<br />
<br />
Другие легковесные приложения, которые рекомендуется использовать на слабых системах:<br />
* {{Pkg|leafpad}}: Простой и легкий текстовый редактор<br />
* {{Pkg|mousepad}}: Простой текстовый редактор (является текстовым редактором по умолчанию среды Xfce)<br />
* {{Pkg|xarchiver}}: Легкий архиватор<br />
* {{Pkg|obconf}}: Инструмент для настройки тем и стилей Openbox<br />
<br />
== Запуск окружения LXDE ==<br />
Есть несколько способов запустить LXDE.<br />
=== Display Managers ===<br />
Если Вы используете менеджеры [[SLiM_(Русский)|SLiM]], [[Display_Manager_(Русский)|GDM]], или [[KDM_(Русский)|KDM]], в настройках сессии нужно выбрать LXDE. <br />
<br />
Инструкция по использованию LXDM [https://wiki.archlinux.org/index.php/LXDE#LXDM ниже на этой странице].<br />
<br />
Если не используете менеджер дисплея приветствия добавьте<br />
<br />
export DESKTOP_SESSION=LXDE<br />
<br />
в ваш <code>~/.bash_profile</code> Для првавильного функционирования [[Xdg-open]]<br />
<br />
=== Консоль ===<br />
Для использования команды '''startx''' необходимо добавить в файл [[Beginners'_Guide#C:_Test_X|{{ic|~/.xinitrc}}]] команду запуска LXDE:<br />
<br />
exec startlxde<br />
<br />
Если Вы хотите выполнять '''startx''' автоматически при загрузке, прочитайте статью [[Start X at Boot (Русский)#Запуск X выбранным пользователем без логина | Запуск X при загрузке]].<br />
<br />
'''Для других задач Вы должны быть уверены, что демон dbus запущен.'''<br />
<br />
== Советы и рекомендации ==<br />
=== Автомонтирвание ===<br />
[[PCManFM (Русский)#Работа с томами]]<br />
<br />
=== Автозапуск программ ===<br />
; .desktop файлы<br />
<br />
Вы можете скопировать ярлык программы {{ic|.desktop}} из {{ic|/usr/share/applications/}} в {{ic|~/.config/autostart/}}. Например, добавим lxterminal в автозапуск:<br />
$ ln -s /usr/share/applications/lxterminal.desktop ~/.config/autostart/<br />
После добавления {{ic|.desktop}} файлов Вы можете упралять ими с помощью {{AUR|lxsession-edit}}.<br />
<br />
; autostart файл<br />
Второй способ. Использование файла {{ic|~/.config/lxsession/LXDE/autostart}}. Этот файл не скрипт, но каждая строка представляет собой команду, которая будет выполнена, если строка начинается с символа @, команда после @ будет автоматически повторно выполняться, если она падает. Например, чтобы выполнить lxterminal и leafpad автоматически при запуске:<br />
{{hc|~/.config/lxsession/LXDE/autostart|<br />
@lxterminal<br />
@leafpad<br />
}}<br />
{{Note|Ппсле команды '''ненужно''' ставить символ &}}<br />
Существует также глобальный файл автозапуска {{ic|/etc/xdg/lxsession/LXDE/autostart}}. Если эти файлы присутствуют одновременно, то оба будут выполнены.<br />
<br />
=== Горячие клавиши ===<br />
Управление горячими клавишами осуществляется через Openbox и подробно описаны [http://openbox.org/wiki/Help:Bindings здесь]. Пользователи LXDE должны следовать этим инструкциям, чтобы отредактировать файл '''~/.config/openbox/lxde-rc.xml'''<br />
<br />
Дополнительный графический интерфейс для редактирования горячих клавиш - {{AUR | obkey}} доступен в AUR. Поумолчанию obkey редактирует файл rc.xml, Но вы можете использовать его в LXDE таким образом:<br />
<br />
$ obkey ~/.config/openbox/lxde-rc.xml<br />
<br />
Больше информации о obkey [http://code.google.com/p/obkey/ здесь].<br />
<br />
=== Курсоры ===<br />
Полная статья: [[X11 Cursors]].<br />
<br />
Последний {{AUR|lxappearance2-git}} в [[AUR]] предоставляет функциональные возможности для изменения тем курсора. Если Вы не хотите устанавливать экспериментальный lxappearance2, можете указать свой курсор в файле {{ic|~/.Xdefaults}}. См. [[X11_Cursors#Choosing_and_Configuring_Cursor_Themes|Configuring Cursor Themes]].<br />
<br />
Простым способом является добавление курсор к теме по умолчанию. Сначала нужно создать каталог:<br />
# mkdir /usr/share/icons/default<br />
Then you can specify to add to the icon theme the cursor. This will use the {{Pkg|xcursor-bluecurve}} pointer theme:<br />
{{hc|/usr/share/icons/default/index.theme|2=<br />
[icon theme]<br />
Inherits=Bluecurve<br />
}}<br />
<br />
=== Шрифты настройка ===<br />
Для установки шрифтов, вы можете использовать {{Pkg|lxappearance}} и установить основной шрифт. Для настройки других шрифтов можно использовать '''Openbox configuration tool''' ObConf:<br />
# pacman -S obconf<br />
<br />
=== Раскладка клавиатуры ===<br />
====udev====<br />
<br />
Когда вы используете [[udev]], конфигурация ввода по умолчанию записываются в {{ic|/etc/X11/xorg.conf.d/10-evdev.conf}} в {{ic|Section "InputClass"}}. Вы можете редактировать этот или создать новый файл {{ic|/etc/X11/xorg.conf.d/20-keyboard.conf}} по следующему примеру (переключение раскладки клавишами Alt+Shift, индикация CAPS-диодом на клавиатуре):<br />
Section "InputClass"<br />
Identifier "evdev keyboard catchall"<br />
MatchIsKeyboard "on"<br />
MatchDevicePath "/dev/input/event*"<br />
Driver "evdev"<br />
Option "XkbModel" "pc104"<br />
Option "XkbLayout" "us,ru"<br />
Option "XkbOptions" "grp:alt_shift_toggle,grp_led:caps"<br />
EndSection<br />
Вы можете найти список всех значений в {{ic|/usr/share/X11/xkb/rules/base.lst}}.<br />
<br />
====Другие способы====<br />
<br />
1 способ:<br />
Добавьте в /etc/xdg/lxsession/LXDE/autostart следующие строки перед @lxpanel --profile LXDE:<br />
@setxkbmap -option grp:switch,grp:alt_shift_toggle,grp_led:scroll us,ru<br />
или в ~/.config/lxsession/LXDE/autostart (для конкретного пользователя):<br />
setxkbmap -option grp:switch,grp:alt_shift_toggle,grp_led:scroll us,ru<br />
2 способ:<br />
Create /etc/xdg/autostart/setxkmap.desktop as following:<br />
[Desktop Entry]<br />
Version=1.0<br />
Encoding=UTF-8<br />
Name=Fix keyboard settings<br />
Exec=setxkbmap -rules xorg -layout "us,ru" -variant ",winkeys" -option "grp:ctrl_shift_toggle"<br />
Terminal=false<br />
Type=Application <br />
3 способ:<br />
Добавьте в ~/.Xkbmap, для текущего пользователя, или в /etc/X11/Xkbmap, для всей системы, строку:<br />
-option grp:ctrl_shift_toggle,grp_led:scroll us,ru<br />
4 способ:<br />
Добавьте следующую строку в /etc/X11/xinit/xinitrc или ~/.xinitrc:<br />
setxkbmap -option grp:ctrl_shift_toggle,grp_led:scroll us,ru<br />
5 способ:<br />
Установите {{AUR | fbxkb}} из [[AUR]]<br />
<br />
6 способ:<br />
[[Xorg (Русский)#Переключение раскладок средствами X.org]]<br />
<br />
====Посредством LXDE====<br />
<br />
# Правый клик на панели задач<br />
# “Добавить/убрать элементы панели”<br />
# “Добавить”<br />
# “Индикатор раскладок клавиатуры”<br />
<br />
=== LXDM ===<br />
LXDE теперь обеспечивает экспериментальную менеджер дисплея приветствия LXDM. Это реализовано с GTK+ и [http://blog.lxde.org/?p=595 supports theming].<br />
<br />
====Установка LXDM====<br />
# pacman -S lxdm<br />
<br />
Для автоматического запуска LXDM Вы можете редактировать {{ic|/etc/inittab}} или {{ic|/etc/rc.conf}}.<br />
Для получения дополнительной информации см. [[Display Manager]].<br />
<br />
====Настройка====<br />
Все конфигурационные файлы для LXDM расположены в {{ic|/etc/lxdm}}. Основной файл конфигурации {{ic|lxdm.conf}} хорошо документирован в его коментарии. Файл, {{ic|Xsession}}, является общесистемным и не должен редактироваться. Другие файлы - это bash скрипты, которые выполняются при наступлении определенных событий в LXDM.<br />
К ним относятся:<br />
# {{ic|LoginReady}}: Выполняется с правами root когда LXDM готова показать окно входа в систему.<br />
# {{ic|PreLogin}}: Выполняется с правами root перед входом пользователя.<br />
# {{ic|PostLogin}}: Выполняется с правами авторизованного пользователя сразу после входа.<br />
# {{ic|PostLogout}}: Выполняется с правами авторизованного пользователя после выхода.<br />
# {{ic|PreReboot}}: Выполняется с правами root перед перезагрузкой компьютера с LXDM.<br />
# {{ic|PreShutdown}}: Выполняется с правами root перед выключением компьютера с LXDM.<br />
<br />
=====Ожидаемое поведение после Logout=====<br />
Может быть немного удивительно, что LXDM по умолчанию не очищает фон рабочего стола и не убивает процессы пользователя после его выхода. Для решения проблемы необходимо добавить в файл {{ic|/etc/lxdm/PostLogout}}:<br />
<br />
#!/bin/sh<br />
<br />
# Kills all your processes when you log out.<br />
killall --user $USER -TERM<br />
<br />
# Set's the desktop background to solid black. Useful if you have multiple monitors.<br />
xsetroot -solid black<br />
<br />
=====Автоматический вход=====<br />
Если вы хотите войти в учетную запись без ввода пароля, найдите строку в {{ic|/etc/lxdm/lxdm.conf}}, которая выглядит следующим образом:<br />
#autologin=username<br />
Раскомментируйте его и подставьте нужное имя пользователя, вместо "username".<br />
<br />
=== [[PCManFM]] ===<br />
Если вы хотите иметь доступ к Корзине, монтированию томов и folder/file tracking Вам необходима поддержка gvfs:<br />
<br />
pacman -S polkit-gnome gvfs<br />
<br />
polkit-gnome обеспечивает аутентификацию и должен быть запущен при входе в систему:<br />
<br />
$ mkdir -p ~/.config/autostart<br />
$ cp /etc/xdg/autostart/polkit-gnome-authentication-agent-1.desktop ~/.config/autostart<br />
<br />
В Arch'е этот файл в настоящее время не работает на некоторых системах. Если у вас проблема запуском, удалите строку<br />
<br />
OnlyShowIn=GNOME;XFCE;<br />
<br />
из файла {{ic|~/.config/autostart/polkit-gnome-authentication-agent-1.desktop}}:<br />
<br />
[http://wiki.lxde.org/en/LXDE:PCManFM_build_and_setup_guide#Setup_Runtime_Environment_Correctly PCManFM @ LXDE wiki]<br />
<br />
=== Замена оконного менеджера === <br />
[[Openbox]], стандартный менеджер окон LXDE, может быть заменен другими. Например fvwm, icewm, dwm, metacity, compiz ...etc.<br />
<br />
LXDE будет пытаться использовать оконный менеджер из пользовательского фаула конфигурации lxsession {{ic|~/.config/lxsession/LXDE/desktop.conf}}.Если его не существует, будет пытаться использовать глобальный файл конфигурации {{ic|/etc/xdg/lxsession/LXDE/desktop.conf}}.<br />
<br />
Замените команду openbox-lxde на ваш менеджер окон:<br />
[Session]<br />
window_manager=openbox-lxde<br />
Для metacity:<br />
window_manager=metacity<br />
Для compiz:<br />
window_manager=compiz ccp --indirect-rendering<br />
<br />
=== Выключение, Перезагрузка (LXSession-logout) ===<br />
Для работы Выключения, Перезагрузки, Режима сна и Режима ожидания Должен быть запущен dbus. Должен быть установлен пакет upower.<br />
<br />
# pacman -S upower<br />
<br />
См. [[xinitrc#Preserving the session]] подробнее о logind/ConsoleKit.<br />
<br />
=== Редактирование меню приложений ===<br />
{{translateme}}<br />
(нужно проверить перевод). Ссылка на [[LXDE#Application_Menu_Editing|оригинал]]<br />
<br />
<br />
Меню приложений работает через передачу {{ic|.desktop}} файлов, которые расположены в {{ic|/usr/share/applications}}. Многие DE запускают программы, которые supersede эти настройки для кастомизации меню. Для LXDE еще только создают редактор меню приложений, но вы можете настроить его вручную, если нужно. Сторонние редакторы меню вы можете найти в [[AUR]] - {{aur|lxmed}}.<br />
<br />
Чтобы добавить или редактировать элемент меню, создайте или сделайте ссылку на {{ic|.desktop}} файл в {{ic|/usr/share/applications}}. Смотрите [http://standards.freedesktop.org/desktop-entry-spec/latest/ the desktop entry specification] на freedesktop.org для получения информации о структуре {{ic|.desktop}} файлов.<br />
<br />
Для удаления элементов из меню вместо удаления {{ic|.desktop}} файлов, вы можете редактировать файл элемента, добавляя следующую строку:<br />
NoDisplay=true.<br />
Для ускорения процесса редактирования большого числа файлов вы можете поместить их в цикл. Например:<br />
cd /usr/share/applications<br />
for i in program1.desktop program2.desktop ...; do cp /usr/share/applications/$i \<br />
/home/user/.local/share/applications/; echo "NoDisplay=true" >> \<br />
/home/user/.local/share/applications/$i; done<br />
Это будет работать для всех приложений, исключая KDE. Для них единственный путь удалить их из списка меню - зайти в KDE и использовать собственный редактор меню. Для каждого элемента, который вы не желаете лицезреть, проверьте опцию 'Show only in KDE' (''отображать только в KDE''). Если добавление NoDisplay=True не работает, вы можете добавить ShowOnlyIn=XFCE.<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<source><br />
The application menu works by resolving the {{ic|.desktop}} files located in {{ic|/usr/share/applications}}. Many desktop environments run programs that supersede these settings to allow customization of the menu. LXDE has yet to create an application menu editor but you can manually build them yourself if you are so inclined. Third party menu editor can be found in [[AUR]] - {{aur|lxmed}}<br />
<br />
To add or edit a menu item, create or link to the {{ic|.desktop}} file in {{ic|/usr/share/applications}}. Consult [http://standards.freedesktop.org/desktop-entry-spec/latest/ the desktop entry specification] on freedesktop.org for structures of {{ic|.desktop}} files.<br />
<br />
To remove items from the menu, instead of deleting the {{ic|.desktop}} files, you can edit the file and add the following line in the file:<br />
NoDisplay=true.<br />
To expedite the process for a good number of files you can put it in a loop. For example:<br />
cd /usr/share/applications<br />
for i in program1.desktop program2.desktop ...; do cp /usr/share/applications/$i \<br />
/home/user/.local/share/applications/; echo "NoDisplay=true" >> \<br />
/home/user/.local/share/applications/$i; done<br />
This will work for all applications except KDE applications. For these, the only way to remove them from the menu is to log into KDE itself and use it's menu editor. For every item that you do not want displayed, check the 'Show only in KDE' option. If adding NoDisplay=True won't work, you can add ShowOnlyIn=XFCE.<br />
</source></div>
Zyamilon
https://wiki.archlinux.org/index.php?title=LXDE_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)&diff=240157
LXDE (Русский)
2012-12-13T14:37:58Z
<p>Zyamilon: /* Редактирование меню приложений */</p>
<hr />
<div>[[Category:Русский]]<br />
[[cs:LXDE]]<br />
[[en:LXDE]]<br />
[[es:LXDE]]<br />
[[fr:LXDE]]<br />
[[it:LXDE]]<br />
[[pl:LXDE]]<br />
[[sr:LXDE]]<br />
[[tr:LXDE_Masaüstü_Ortamı]]<br />
[[uk:LXDE]]<br />
[[zh-CN:LXDE]]<br />
[[zh-TW:LXDE]]<br />
[[Category:Desktop environments (Русский)]]<br />
<br />
{{Article summary start}}<br />
{{Article summary text|[http://wiki.lxde.org/ru LXDE], (от англ. Lightweight X11 Desktop Environment) — это свободная среда рабочего стола для UNIX и других POSIX-совместимых систем, таких как GNU/Linux. Проект LXDE направлен на создание новой быстрой и легковесной среды рабочего стола. LXDE создана не мощной и перегруженной функциями, а простой в использовании, достаточно легкой и не требовательной к ресурсам системы.}}<br />
{{Article summary text|Создатели не стремились тесно интегрировать различные компоненты, наоборот, каждый из них может использоваться отдельно с несколькими зависимостями.}}<br />
{{Article summary text|LXDE использует Openbox как оконный менеджер по умолчанию и стремится предложить быстрый и легкий рабочий стол, основанный на взаимно независимых компонентах.}}<br />
{{Article summary end}}<br />
<br />
[http://lxde.org/ LXDE.org | Lightweight X11 Desktop Environment]: ''"Одно из главных достоинств LXDE - небольшие требования к железу. Философия LXDE - это лёгкость, полезность и практичность."''<br />
<br />
== Установка ==<br />
<br />
LXDE модульный и вы можете выбирать только те пакеты, которые вам нужны.<br />
<br />
Минимально необходимые пакеты для запуска LXDE: {{Pkg|lxde-common}}, {{Pkg|lxsession}}, {{Pkg|desktop-file-utils}} и оконный менеджер.<br />
<br />
Вы можете установить группу пакетов LXDE:<br />
<br />
# pacman -S lxde<br />
<br />
Установятся следующие пакеты:<br />
<br />
* {{Pkg|gpicview}}: Простой и легкий просмоторщик изображений<br />
* {{Pkg|libfm}}: Библиотека для работы с файлами<br />
* {{Pkg|lxappearance}}: Редактор тем для изменения GTK+ тем, иконок и шрифтов для приложений GTK<br />
* {{Pkg|lxappearance-obconf}}: Плагин для настройки Openbox через LXAppearance<br />
* {{Pkg|lxde-common}}: Установки по умолчанию конфигурационных файлов для большинства интегрированных компонентов LXDE<br />
* {{Pkg|lxde-icon-theme}}: Тема значков LXDE<br />
* {{Pkg|lxdm}}: Легковесный менеджер дисплея приветствия<br />
* {{Pkg|lxinput}}: Конфигурационная утилита для вашей клавиатуры и мышки в LXDE <br />
* {{Pkg|lxlauncher}}: Панель запуска приложений для нетбуков<br />
* {{Pkg|lxmenu-data}}: Коллекция файлов адаптирующая меню LXDE под стандарты спецификации freedesktop.org<br />
* {{Pkg|lxmusic}}: Минималистичный проигрыватель музыки базирующийся на xmms2 <br />
* {{Pkg|lxpanel}}: Панель задач с менеджером приложений, меню программ и апплетов<br />
* {{Pkg|lxrandr}}: Менеджер экрана для LXDE<br />
* {{Pkg|lxsession}}: Совместимый X11 менеджер сессий с поддержкой выключения, перезагрузки и ждущего режима<br />
* {{Pkg|lxshortcut}}: Простое средство редактирования ярлычков<br />
* {{Pkg|lxtask}}: Диспетчер задач и системный монитор LXDE<br />
* {{Pkg|lxterminal}}: Стандартный эмулятор терминала для LXDE<br />
* {{Pkg|menu-cache}}: A daemon which automatically generates the menu for LXDE<br />
* {{Pkg|openbox}}: Aлегкий и удобно-конфигурируемый менеджер окон (рекомендуемый менеджер, разработанный вне проекта LXDE).<br />
* {{Pkg|pcmanfm}}: Файловый менеджер, функционал рабочего стола и обоев<br />
<br />
Вам также следует установить [[gamin|Gamin]]. [[gamin|Gamin]] - это инструмент для отслеживания изменений в файлах и директориях, который является реализацией подсистемы FAM. Запуск производится по требованию программ, которые им поддерживаются, поэтому не требуется отдельно демона, подобного [[FAM_(Русский)|FAM]]. Если у Вас установлен [[FAM_(Русский)|FAM]] - удалите запуск этого демона из {{ic|/etc/rc.conf}} и остановите его перед установкой [[gamin|Gamin]]<br />
pacman -S gamin<br />
<br />
Другие легковесные приложения, которые рекомендуется использовать на слабых системах:<br />
* {{Pkg|leafpad}}: Простой и легкий текстовый редактор<br />
* {{Pkg|mousepad}}: Простой текстовый редактор (является текстовым редактором по умолчанию среды Xfce)<br />
* {{Pkg|xarchiver}}: Легкий архиватор<br />
* {{Pkg|obconf}}: Инструмент для настройки тем и стилей Openbox<br />
<br />
== Запуск окружения LXDE ==<br />
Есть несколько способов запустить LXDE.<br />
=== Display Managers ===<br />
Если Вы используете менеджеры [[SLiM_(Русский)|SLiM]], [[Display_Manager_(Русский)|GDM]], или [[KDM_(Русский)|KDM]], в настройках сессии нужно выбрать LXDE. <br />
<br />
Инструкция по использованию LXDM [https://wiki.archlinux.org/index.php/LXDE#LXDM ниже на этой странице].<br />
<br />
Если не используете менеджер дисплея приветствия добавьте<br />
<br />
export DESKTOP_SESSION=LXDE<br />
<br />
в ваш <code>~/.bash_profile</code> Для првавильного функционирования [[Xdg-open]]<br />
<br />
=== Консоль ===<br />
Для использования команды '''startx''' необходимо добавить в файл [[Beginners'_Guide#C:_Test_X|{{ic|~/.xinitrc}}]] команду запуска LXDE:<br />
<br />
exec startlxde<br />
<br />
Если Вы хотите выполнять '''startx''' автоматически при загрузке, прочитайте статью [[Start X at Boot (Русский)#Запуск X выбранным пользователем без логина | Запуск X при загрузке]].<br />
<br />
'''Для других задач Вы должны быть уверены, что демон dbus запущен.'''<br />
<br />
== Советы и рекомендации ==<br />
=== Автомонтирвание ===<br />
[[PCManFM (Русский)#Работа с томами]]<br />
<br />
=== Автозапуск программ ===<br />
; .desktop файлы<br />
<br />
Вы можете скопировать ярлык программы {{ic|.desktop}} из {{ic|/usr/share/applications/}} в {{ic|~/.config/autostart/}}. Например, добавим lxterminal в автозапуск:<br />
$ ln -s /usr/share/applications/lxterminal.desktop ~/.config/autostart/<br />
После добавления {{ic|.desktop}} файлов Вы можете упралять ими с помощью {{AUR|lxsession-edit}}.<br />
<br />
; autostart файл<br />
Второй способ. Использование файла {{ic|~/.config/lxsession/LXDE/autostart}}. Этот файл не скрипт, но каждая строка представляет собой команду, которая будет выполнена, если строка начинается с символа @, команда после @ будет автоматически повторно выполняться, если она падает. Например, чтобы выполнить lxterminal и leafpad автоматически при запуске:<br />
{{hc|~/.config/lxsession/LXDE/autostart|<br />
@lxterminal<br />
@leafpad<br />
}}<br />
{{Note|Ппсле команды '''ненужно''' ставить символ &}}<br />
Существует также глобальный файл автозапуска {{ic|/etc/xdg/lxsession/LXDE/autostart}}. Если эти файлы присутствуют одновременно, то оба будут выполнены.<br />
<br />
=== Горячие клавиши ===<br />
Управление горячими клавишами осуществляется через Openbox и подробно описаны [http://openbox.org/wiki/Help:Bindings здесь]. Пользователи LXDE должны следовать этим инструкциям, чтобы отредактировать файл '''~/.config/openbox/lxde-rc.xml'''<br />
<br />
Дополнительный графический интерфейс для редактирования горячих клавиш - {{AUR | obkey}} доступен в AUR. Поумолчанию obkey редактирует файл rc.xml, Но вы можете использовать его в LXDE таким образом:<br />
<br />
$ obkey ~/.config/openbox/lxde-rc.xml<br />
<br />
Больше информации о obkey [http://code.google.com/p/obkey/ здесь].<br />
<br />
=== Курсоры ===<br />
Полная статья: [[X11 Cursors]].<br />
<br />
Последний {{AUR|lxappearance2-git}} в [[AUR]] предоставляет функциональные возможности для изменения тем курсора. Если Вы не хотите устанавливать экспериментальный lxappearance2, можете указать свой курсор в файле {{ic|~/.Xdefaults}}. См. [[X11_Cursors#Choosing_and_Configuring_Cursor_Themes|Configuring Cursor Themes]].<br />
<br />
Простым способом является добавление курсор к теме по умолчанию. Сначала нужно создать каталог:<br />
# mkdir /usr/share/icons/default<br />
Then you can specify to add to the icon theme the cursor. This will use the {{Pkg|xcursor-bluecurve}} pointer theme:<br />
{{hc|/usr/share/icons/default/index.theme|2=<br />
[icon theme]<br />
Inherits=Bluecurve<br />
}}<br />
<br />
=== Шрифты настройка ===<br />
Для установки шрифтов, вы можете использовать {{Pkg|lxappearance}} и установить основной шрифт. Для настройки других шрифтов можно использовать '''Openbox configuration tool''' ObConf:<br />
# pacman -S obconf<br />
<br />
=== Раскладка клавиатуры ===<br />
====udev====<br />
<br />
Когда вы используете [[udev]], конфигурация ввода по умолчанию записываются в {{ic|/etc/X11/xorg.conf.d/10-evdev.conf}} в {{ic|Section "InputClass"}}. Вы можете редактировать этот или создать новый файл {{ic|/etc/X11/xorg.conf.d/20-keyboard.conf}} по следующему примеру (переключение раскладки клавишами Alt+Shift, индикация CAPS-диодом на клавиатуре):<br />
Section "InputClass"<br />
Identifier "evdev keyboard catchall"<br />
MatchIsKeyboard "on"<br />
MatchDevicePath "/dev/input/event*"<br />
Driver "evdev"<br />
Option "XkbModel" "pc104"<br />
Option "XkbLayout" "us,ru"<br />
Option "XkbOptions" "grp:alt_shift_toggle,grp_led:caps"<br />
EndSection<br />
Вы можете найти список всех значений в {{ic|/usr/share/X11/xkb/rules/base.lst}}.<br />
<br />
====Другие способы====<br />
<br />
1 способ:<br />
Добавьте в /etc/xdg/lxsession/LXDE/autostart следующие строки перед @lxpanel --profile LXDE:<br />
@setxkbmap -option grp:switch,grp:alt_shift_toggle,grp_led:scroll us,ru<br />
или в ~/.config/lxsession/LXDE/autostart (для конкретного пользователя):<br />
setxkbmap -option grp:switch,grp:alt_shift_toggle,grp_led:scroll us,ru<br />
2 способ:<br />
Create /etc/xdg/autostart/setxkmap.desktop as following:<br />
[Desktop Entry]<br />
Version=1.0<br />
Encoding=UTF-8<br />
Name=Fix keyboard settings<br />
Exec=setxkbmap -rules xorg -layout "us,ru" -variant ",winkeys" -option "grp:ctrl_shift_toggle"<br />
Terminal=false<br />
Type=Application <br />
3 способ:<br />
Добавьте в ~/.Xkbmap, для текущего пользователя, или в /etc/X11/Xkbmap, для всей системы, строку:<br />
-option grp:ctrl_shift_toggle,grp_led:scroll us,ru<br />
4 способ:<br />
Добавьте следующую строку в /etc/X11/xinit/xinitrc или ~/.xinitrc:<br />
setxkbmap -option grp:ctrl_shift_toggle,grp_led:scroll us,ru<br />
5 способ:<br />
Установите {{AUR | fbxkb}} из [[AUR]]<br />
<br />
6 способ:<br />
[[Xorg (Русский)#Переключение раскладок средствами X.org]]<br />
<br />
====Посредством LXDE====<br />
<br />
# Правый клик на панели задач<br />
# “Добавить/убрать элементы панели”<br />
# “Добавить”<br />
# “Индикатор раскладок клавиатуры”<br />
<br />
=== LXDM ===<br />
LXDE теперь обеспечивает экспериментальную менеджер дисплея приветствия LXDM. Это реализовано с GTK+ и [http://blog.lxde.org/?p=595 supports theming].<br />
<br />
====Установка LXDM====<br />
# pacman -S lxdm<br />
<br />
Для автоматического запуска LXDM Вы можете редактировать {{ic|/etc/inittab}} или {{ic|/etc/rc.conf}}.<br />
Для получения дополнительной информации см. [[Display Manager]].<br />
<br />
====Настройка====<br />
Все конфигурационные файлы для LXDM расположены в {{ic|/etc/lxdm}}. Основной файл конфигурации {{ic|lxdm.conf}} хорошо документирован в его коментарии. Файл, {{ic|Xsession}}, является общесистемным и не должен редактироваться. Другие файлы - это bash скрипты, которые выполняются при наступлении определенных событий в LXDM.<br />
К ним относятся:<br />
# {{ic|LoginReady}}: Выполняется с правами root когда LXDM готова показать окно входа в систему.<br />
# {{ic|PreLogin}}: Выполняется с правами root перед входом пользователя.<br />
# {{ic|PostLogin}}: Выполняется с правами авторизованного пользователя сразу после входа.<br />
# {{ic|PostLogout}}: Выполняется с правами авторизованного пользователя после выхода.<br />
# {{ic|PreReboot}}: Выполняется с правами root перед перезагрузкой компьютера с LXDM.<br />
# {{ic|PreShutdown}}: Выполняется с правами root перед выключением компьютера с LXDM.<br />
<br />
=====Ожидаемое поведение после Logout=====<br />
Может быть немного удивительно, что LXDM по умолчанию не очищает фон рабочего стола и не убивает процессы пользователя после его выхода. Для решения проблемы необходимо добавить в файл {{ic|/etc/lxdm/PostLogout}}:<br />
<br />
#!/bin/sh<br />
<br />
# Kills all your processes when you log out.<br />
killall --user $USER -TERM<br />
<br />
# Set's the desktop background to solid black. Useful if you have multiple monitors.<br />
xsetroot -solid black<br />
<br />
=====Автоматический вход=====<br />
Если вы хотите войти в учетную запись без ввода пароля, найдите строку в {{ic|/etc/lxdm/lxdm.conf}}, которая выглядит следующим образом:<br />
#autologin=username<br />
Раскомментируйте его и подставьте нужное имя пользователя, вместо "username".<br />
<br />
=== [[PCManFM]] ===<br />
Если вы хотите иметь доступ к Корзине, монтированию томов и folder/file tracking Вам необходима поддержка gvfs:<br />
<br />
pacman -S polkit-gnome gvfs<br />
<br />
polkit-gnome обеспечивает аутентификацию и должен быть запущен при входе в систему:<br />
<br />
$ mkdir -p ~/.config/autostart<br />
$ cp /etc/xdg/autostart/polkit-gnome-authentication-agent-1.desktop ~/.config/autostart<br />
<br />
В Arch'е этот файл в настоящее время не работает на некоторых системах. Если у вас проблема запуском, удалите строку<br />
<br />
OnlyShowIn=GNOME;XFCE;<br />
<br />
из файла {{ic|~/.config/autostart/polkit-gnome-authentication-agent-1.desktop}}:<br />
<br />
[http://wiki.lxde.org/en/LXDE:PCManFM_build_and_setup_guide#Setup_Runtime_Environment_Correctly PCManFM @ LXDE wiki]<br />
<br />
=== Замена оконного менеджера === <br />
[[Openbox]], стандартный менеджер окон LXDE, может быть заменен другими. Например fvwm, icewm, dwm, metacity, compiz ...etc.<br />
<br />
LXDE будет пытаться использовать оконный менеджер из пользовательского фаула конфигурации lxsession {{ic|~/.config/lxsession/LXDE/desktop.conf}}.Если его не существует, будет пытаться использовать глобальный файл конфигурации {{ic|/etc/xdg/lxsession/LXDE/desktop.conf}}.<br />
<br />
Замените команду openbox-lxde на ваш менеджер окон:<br />
[Session]<br />
window_manager=openbox-lxde<br />
Для metacity:<br />
window_manager=metacity<br />
Для compiz:<br />
window_manager=compiz ccp --indirect-rendering<br />
<br />
=== Выключение, Перезагрузка (LXSession-logout) ===<br />
Для работы Выключения, Перезагрузки, Режима сна и Режима ожидания Должен быть запущен dbus. Должен быть установлен пакет upower.<br />
<br />
# pacman -S upower<br />
<br />
См. [[xinitrc#Preserving the session]] подробнее о logind/ConsoleKit.<br />
<br />
=== Редактирование меню приложений ===<br />
Меню приложений работает через передачу {{ic|.desktop}} файлов, которые расположены в {{ic|/usr/share/applications}}. Многие DE запускают программы, которые supersede эти настройки для кастомизации меню. Для LXDE еще только создают редактор меню приложений, но вы можете настроить его вручную, если нужно. Сторонние редакторы меню вы можете найти в [[AUR]] - {{aur|lxmed}}.<br />
<br />
Чтобы добавить или редактировать элемент меню, создайте или сделайте ссылку на {{ic|.desktop}} файл в {{ic|/usr/share/applications}}. Смотрите [http://standards.freedesktop.org/desktop-entry-spec/latest/ the desktop entry specification] на freedesktop.org для получения информации о структуре {{ic|.desktop}} файлов.<br />
<br />
Для удаления элементов из меню вместо удаления {{ic|.desktop}} файлов, вы можете редактировать файл элемента, добавляя следующую строку:<br />
NoDisplay=true.<br />
Для ускорения процесса редактирования большого числа файлов вы можете поместить их в цикл. Например:<br />
cd /usr/share/applications<br />
for i in program1.desktop program2.desktop ...; do cp /usr/share/applications/$i \<br />
/home/user/.local/share/applications/; echo "NoDisplay=true" >> \<br />
/home/user/.local/share/applications/$i; done<br />
Это будет работать для всех приложений, исключая KDE. Для них единственный путь удалить их из списка меню - зайти в KDE и использовать собственный редактор меню. Для каждого элемента, который вы не желаете лицезреть, проверьте опцию 'Show only in KDE' (''отображать только в KDE''). Если добавление NoDisplay=True не работает, вы можете добавить ShowOnlyIn=XFCE.<br />
<br />
<br />
<br />
{{translateme}}<br />
<source><br />
The application menu works by resolving the {{ic|.desktop}} files located in {{ic|/usr/share/applications}}. Many desktop environments run programs that supersede these settings to allow customization of the menu. LXDE has yet to create an application menu editor but you can manually build them yourself if you are so inclined. Third party menu editor can be found in [[AUR]] - {{aur|lxmed}}<br />
<br />
To add or edit a menu item, create or link to the {{ic|.desktop}} file in {{ic|/usr/share/applications}}. Consult [http://standards.freedesktop.org/desktop-entry-spec/latest/ the desktop entry specification] on freedesktop.org for structures of {{ic|.desktop}} files.<br />
<br />
To remove items from the menu, instead of deleting the {{ic|.desktop}} files, you can edit the file and add the following line in the file:<br />
NoDisplay=true.<br />
To expedite the process for a good number of files you can put it in a loop. For example:<br />
cd /usr/share/applications<br />
for i in program1.desktop program2.desktop ...; do cp /usr/share/applications/$i \<br />
/home/user/.local/share/applications/; echo "NoDisplay=true" >> \<br />
/home/user/.local/share/applications/$i; done<br />
This will work for all applications except KDE applications. For these, the only way to remove them from the menu is to log into KDE itself and use it's menu editor. For every item that you do not want displayed, check the 'Show only in KDE' option. If adding NoDisplay=True won't work, you can add ShowOnlyIn=XFCE.<br />
</source></div>
Zyamilon
https://wiki.archlinux.org/index.php?title=LXDE_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)&diff=240156
LXDE (Русский)
2012-12-13T14:33:22Z
<p>Zyamilon: /* Редактирование меню приложений */</p>
<hr />
<div>[[Category:Русский]]<br />
[[cs:LXDE]]<br />
[[en:LXDE]]<br />
[[es:LXDE]]<br />
[[fr:LXDE]]<br />
[[it:LXDE]]<br />
[[pl:LXDE]]<br />
[[sr:LXDE]]<br />
[[tr:LXDE_Masaüstü_Ortamı]]<br />
[[uk:LXDE]]<br />
[[zh-CN:LXDE]]<br />
[[zh-TW:LXDE]]<br />
[[Category:Desktop environments (Русский)]]<br />
<br />
{{Article summary start}}<br />
{{Article summary text|[http://wiki.lxde.org/ru LXDE], (от англ. Lightweight X11 Desktop Environment) — это свободная среда рабочего стола для UNIX и других POSIX-совместимых систем, таких как GNU/Linux. Проект LXDE направлен на создание новой быстрой и легковесной среды рабочего стола. LXDE создана не мощной и перегруженной функциями, а простой в использовании, достаточно легкой и не требовательной к ресурсам системы.}}<br />
{{Article summary text|Создатели не стремились тесно интегрировать различные компоненты, наоборот, каждый из них может использоваться отдельно с несколькими зависимостями.}}<br />
{{Article summary text|LXDE использует Openbox как оконный менеджер по умолчанию и стремится предложить быстрый и легкий рабочий стол, основанный на взаимно независимых компонентах.}}<br />
{{Article summary end}}<br />
<br />
[http://lxde.org/ LXDE.org | Lightweight X11 Desktop Environment]: ''"Одно из главных достоинств LXDE - небольшие требования к железу. Философия LXDE - это лёгкость, полезность и практичность."''<br />
<br />
== Установка ==<br />
<br />
LXDE модульный и вы можете выбирать только те пакеты, которые вам нужны.<br />
<br />
Минимально необходимые пакеты для запуска LXDE: {{Pkg|lxde-common}}, {{Pkg|lxsession}}, {{Pkg|desktop-file-utils}} и оконный менеджер.<br />
<br />
Вы можете установить группу пакетов LXDE:<br />
<br />
# pacman -S lxde<br />
<br />
Установятся следующие пакеты:<br />
<br />
* {{Pkg|gpicview}}: Простой и легкий просмоторщик изображений<br />
* {{Pkg|libfm}}: Библиотека для работы с файлами<br />
* {{Pkg|lxappearance}}: Редактор тем для изменения GTK+ тем, иконок и шрифтов для приложений GTK<br />
* {{Pkg|lxappearance-obconf}}: Плагин для настройки Openbox через LXAppearance<br />
* {{Pkg|lxde-common}}: Установки по умолчанию конфигурационных файлов для большинства интегрированных компонентов LXDE<br />
* {{Pkg|lxde-icon-theme}}: Тема значков LXDE<br />
* {{Pkg|lxdm}}: Легковесный менеджер дисплея приветствия<br />
* {{Pkg|lxinput}}: Конфигурационная утилита для вашей клавиатуры и мышки в LXDE <br />
* {{Pkg|lxlauncher}}: Панель запуска приложений для нетбуков<br />
* {{Pkg|lxmenu-data}}: Коллекция файлов адаптирующая меню LXDE под стандарты спецификации freedesktop.org<br />
* {{Pkg|lxmusic}}: Минималистичный проигрыватель музыки базирующийся на xmms2 <br />
* {{Pkg|lxpanel}}: Панель задач с менеджером приложений, меню программ и апплетов<br />
* {{Pkg|lxrandr}}: Менеджер экрана для LXDE<br />
* {{Pkg|lxsession}}: Совместимый X11 менеджер сессий с поддержкой выключения, перезагрузки и ждущего режима<br />
* {{Pkg|lxshortcut}}: Простое средство редактирования ярлычков<br />
* {{Pkg|lxtask}}: Диспетчер задач и системный монитор LXDE<br />
* {{Pkg|lxterminal}}: Стандартный эмулятор терминала для LXDE<br />
* {{Pkg|menu-cache}}: A daemon which automatically generates the menu for LXDE<br />
* {{Pkg|openbox}}: Aлегкий и удобно-конфигурируемый менеджер окон (рекомендуемый менеджер, разработанный вне проекта LXDE).<br />
* {{Pkg|pcmanfm}}: Файловый менеджер, функционал рабочего стола и обоев<br />
<br />
Вам также следует установить [[gamin|Gamin]]. [[gamin|Gamin]] - это инструмент для отслеживания изменений в файлах и директориях, который является реализацией подсистемы FAM. Запуск производится по требованию программ, которые им поддерживаются, поэтому не требуется отдельно демона, подобного [[FAM_(Русский)|FAM]]. Если у Вас установлен [[FAM_(Русский)|FAM]] - удалите запуск этого демона из {{ic|/etc/rc.conf}} и остановите его перед установкой [[gamin|Gamin]]<br />
pacman -S gamin<br />
<br />
Другие легковесные приложения, которые рекомендуется использовать на слабых системах:<br />
* {{Pkg|leafpad}}: Простой и легкий текстовый редактор<br />
* {{Pkg|mousepad}}: Простой текстовый редактор (является текстовым редактором по умолчанию среды Xfce)<br />
* {{Pkg|xarchiver}}: Легкий архиватор<br />
* {{Pkg|obconf}}: Инструмент для настройки тем и стилей Openbox<br />
<br />
== Запуск окружения LXDE ==<br />
Есть несколько способов запустить LXDE.<br />
=== Display Managers ===<br />
Если Вы используете менеджеры [[SLiM_(Русский)|SLiM]], [[Display_Manager_(Русский)|GDM]], или [[KDM_(Русский)|KDM]], в настройках сессии нужно выбрать LXDE. <br />
<br />
Инструкция по использованию LXDM [https://wiki.archlinux.org/index.php/LXDE#LXDM ниже на этой странице].<br />
<br />
Если не используете менеджер дисплея приветствия добавьте<br />
<br />
export DESKTOP_SESSION=LXDE<br />
<br />
в ваш <code>~/.bash_profile</code> Для првавильного функционирования [[Xdg-open]]<br />
<br />
=== Консоль ===<br />
Для использования команды '''startx''' необходимо добавить в файл [[Beginners'_Guide#C:_Test_X|{{ic|~/.xinitrc}}]] команду запуска LXDE:<br />
<br />
exec startlxde<br />
<br />
Если Вы хотите выполнять '''startx''' автоматически при загрузке, прочитайте статью [[Start X at Boot (Русский)#Запуск X выбранным пользователем без логина | Запуск X при загрузке]].<br />
<br />
'''Для других задач Вы должны быть уверены, что демон dbus запущен.'''<br />
<br />
== Советы и рекомендации ==<br />
=== Автомонтирвание ===<br />
[[PCManFM (Русский)#Работа с томами]]<br />
<br />
=== Автозапуск программ ===<br />
; .desktop файлы<br />
<br />
Вы можете скопировать ярлык программы {{ic|.desktop}} из {{ic|/usr/share/applications/}} в {{ic|~/.config/autostart/}}. Например, добавим lxterminal в автозапуск:<br />
$ ln -s /usr/share/applications/lxterminal.desktop ~/.config/autostart/<br />
После добавления {{ic|.desktop}} файлов Вы можете упралять ими с помощью {{AUR|lxsession-edit}}.<br />
<br />
; autostart файл<br />
Второй способ. Использование файла {{ic|~/.config/lxsession/LXDE/autostart}}. Этот файл не скрипт, но каждая строка представляет собой команду, которая будет выполнена, если строка начинается с символа @, команда после @ будет автоматически повторно выполняться, если она падает. Например, чтобы выполнить lxterminal и leafpad автоматически при запуске:<br />
{{hc|~/.config/lxsession/LXDE/autostart|<br />
@lxterminal<br />
@leafpad<br />
}}<br />
{{Note|Ппсле команды '''ненужно''' ставить символ &}}<br />
Существует также глобальный файл автозапуска {{ic|/etc/xdg/lxsession/LXDE/autostart}}. Если эти файлы присутствуют одновременно, то оба будут выполнены.<br />
<br />
=== Горячие клавиши ===<br />
Управление горячими клавишами осуществляется через Openbox и подробно описаны [http://openbox.org/wiki/Help:Bindings здесь]. Пользователи LXDE должны следовать этим инструкциям, чтобы отредактировать файл '''~/.config/openbox/lxde-rc.xml'''<br />
<br />
Дополнительный графический интерфейс для редактирования горячих клавиш - {{AUR | obkey}} доступен в AUR. Поумолчанию obkey редактирует файл rc.xml, Но вы можете использовать его в LXDE таким образом:<br />
<br />
$ obkey ~/.config/openbox/lxde-rc.xml<br />
<br />
Больше информации о obkey [http://code.google.com/p/obkey/ здесь].<br />
<br />
=== Курсоры ===<br />
Полная статья: [[X11 Cursors]].<br />
<br />
Последний {{AUR|lxappearance2-git}} в [[AUR]] предоставляет функциональные возможности для изменения тем курсора. Если Вы не хотите устанавливать экспериментальный lxappearance2, можете указать свой курсор в файле {{ic|~/.Xdefaults}}. См. [[X11_Cursors#Choosing_and_Configuring_Cursor_Themes|Configuring Cursor Themes]].<br />
<br />
Простым способом является добавление курсор к теме по умолчанию. Сначала нужно создать каталог:<br />
# mkdir /usr/share/icons/default<br />
Then you can specify to add to the icon theme the cursor. This will use the {{Pkg|xcursor-bluecurve}} pointer theme:<br />
{{hc|/usr/share/icons/default/index.theme|2=<br />
[icon theme]<br />
Inherits=Bluecurve<br />
}}<br />
<br />
=== Шрифты настройка ===<br />
Для установки шрифтов, вы можете использовать {{Pkg|lxappearance}} и установить основной шрифт. Для настройки других шрифтов можно использовать '''Openbox configuration tool''' ObConf:<br />
# pacman -S obconf<br />
<br />
=== Раскладка клавиатуры ===<br />
====udev====<br />
<br />
Когда вы используете [[udev]], конфигурация ввода по умолчанию записываются в {{ic|/etc/X11/xorg.conf.d/10-evdev.conf}} в {{ic|Section "InputClass"}}. Вы можете редактировать этот или создать новый файл {{ic|/etc/X11/xorg.conf.d/20-keyboard.conf}} по следующему примеру (переключение раскладки клавишами Alt+Shift, индикация CAPS-диодом на клавиатуре):<br />
Section "InputClass"<br />
Identifier "evdev keyboard catchall"<br />
MatchIsKeyboard "on"<br />
MatchDevicePath "/dev/input/event*"<br />
Driver "evdev"<br />
Option "XkbModel" "pc104"<br />
Option "XkbLayout" "us,ru"<br />
Option "XkbOptions" "grp:alt_shift_toggle,grp_led:caps"<br />
EndSection<br />
Вы можете найти список всех значений в {{ic|/usr/share/X11/xkb/rules/base.lst}}.<br />
<br />
====Другие способы====<br />
<br />
1 способ:<br />
Добавьте в /etc/xdg/lxsession/LXDE/autostart следующие строки перед @lxpanel --profile LXDE:<br />
@setxkbmap -option grp:switch,grp:alt_shift_toggle,grp_led:scroll us,ru<br />
или в ~/.config/lxsession/LXDE/autostart (для конкретного пользователя):<br />
setxkbmap -option grp:switch,grp:alt_shift_toggle,grp_led:scroll us,ru<br />
2 способ:<br />
Create /etc/xdg/autostart/setxkmap.desktop as following:<br />
[Desktop Entry]<br />
Version=1.0<br />
Encoding=UTF-8<br />
Name=Fix keyboard settings<br />
Exec=setxkbmap -rules xorg -layout "us,ru" -variant ",winkeys" -option "grp:ctrl_shift_toggle"<br />
Terminal=false<br />
Type=Application <br />
3 способ:<br />
Добавьте в ~/.Xkbmap, для текущего пользователя, или в /etc/X11/Xkbmap, для всей системы, строку:<br />
-option grp:ctrl_shift_toggle,grp_led:scroll us,ru<br />
4 способ:<br />
Добавьте следующую строку в /etc/X11/xinit/xinitrc или ~/.xinitrc:<br />
setxkbmap -option grp:ctrl_shift_toggle,grp_led:scroll us,ru<br />
5 способ:<br />
Установите {{AUR | fbxkb}} из [[AUR]]<br />
<br />
6 способ:<br />
[[Xorg (Русский)#Переключение раскладок средствами X.org]]<br />
<br />
====Посредством LXDE====<br />
<br />
# Правый клик на панели задач<br />
# “Добавить/убрать элементы панели”<br />
# “Добавить”<br />
# “Индикатор раскладок клавиатуры”<br />
<br />
=== LXDM ===<br />
LXDE теперь обеспечивает экспериментальную менеджер дисплея приветствия LXDM. Это реализовано с GTK+ и [http://blog.lxde.org/?p=595 supports theming].<br />
<br />
====Установка LXDM====<br />
# pacman -S lxdm<br />
<br />
Для автоматического запуска LXDM Вы можете редактировать {{ic|/etc/inittab}} или {{ic|/etc/rc.conf}}.<br />
Для получения дополнительной информации см. [[Display Manager]].<br />
<br />
====Настройка====<br />
Все конфигурационные файлы для LXDM расположены в {{ic|/etc/lxdm}}. Основной файл конфигурации {{ic|lxdm.conf}} хорошо документирован в его коментарии. Файл, {{ic|Xsession}}, является общесистемным и не должен редактироваться. Другие файлы - это bash скрипты, которые выполняются при наступлении определенных событий в LXDM.<br />
К ним относятся:<br />
# {{ic|LoginReady}}: Выполняется с правами root когда LXDM готова показать окно входа в систему.<br />
# {{ic|PreLogin}}: Выполняется с правами root перед входом пользователя.<br />
# {{ic|PostLogin}}: Выполняется с правами авторизованного пользователя сразу после входа.<br />
# {{ic|PostLogout}}: Выполняется с правами авторизованного пользователя после выхода.<br />
# {{ic|PreReboot}}: Выполняется с правами root перед перезагрузкой компьютера с LXDM.<br />
# {{ic|PreShutdown}}: Выполняется с правами root перед выключением компьютера с LXDM.<br />
<br />
=====Ожидаемое поведение после Logout=====<br />
Может быть немного удивительно, что LXDM по умолчанию не очищает фон рабочего стола и не убивает процессы пользователя после его выхода. Для решения проблемы необходимо добавить в файл {{ic|/etc/lxdm/PostLogout}}:<br />
<br />
#!/bin/sh<br />
<br />
# Kills all your processes when you log out.<br />
killall --user $USER -TERM<br />
<br />
# Set's the desktop background to solid black. Useful if you have multiple monitors.<br />
xsetroot -solid black<br />
<br />
=====Автоматический вход=====<br />
Если вы хотите войти в учетную запись без ввода пароля, найдите строку в {{ic|/etc/lxdm/lxdm.conf}}, которая выглядит следующим образом:<br />
#autologin=username<br />
Раскомментируйте его и подставьте нужное имя пользователя, вместо "username".<br />
<br />
=== [[PCManFM]] ===<br />
Если вы хотите иметь доступ к Корзине, монтированию томов и folder/file tracking Вам необходима поддержка gvfs:<br />
<br />
pacman -S polkit-gnome gvfs<br />
<br />
polkit-gnome обеспечивает аутентификацию и должен быть запущен при входе в систему:<br />
<br />
$ mkdir -p ~/.config/autostart<br />
$ cp /etc/xdg/autostart/polkit-gnome-authentication-agent-1.desktop ~/.config/autostart<br />
<br />
В Arch'е этот файл в настоящее время не работает на некоторых системах. Если у вас проблема запуском, удалите строку<br />
<br />
OnlyShowIn=GNOME;XFCE;<br />
<br />
из файла {{ic|~/.config/autostart/polkit-gnome-authentication-agent-1.desktop}}:<br />
<br />
[http://wiki.lxde.org/en/LXDE:PCManFM_build_and_setup_guide#Setup_Runtime_Environment_Correctly PCManFM @ LXDE wiki]<br />
<br />
=== Замена оконного менеджера === <br />
[[Openbox]], стандартный менеджер окон LXDE, может быть заменен другими. Например fvwm, icewm, dwm, metacity, compiz ...etc.<br />
<br />
LXDE будет пытаться использовать оконный менеджер из пользовательского фаула конфигурации lxsession {{ic|~/.config/lxsession/LXDE/desktop.conf}}.Если его не существует, будет пытаться использовать глобальный файл конфигурации {{ic|/etc/xdg/lxsession/LXDE/desktop.conf}}.<br />
<br />
Замените команду openbox-lxde на ваш менеджер окон:<br />
[Session]<br />
window_manager=openbox-lxde<br />
Для metacity:<br />
window_manager=metacity<br />
Для compiz:<br />
window_manager=compiz ccp --indirect-rendering<br />
<br />
=== Выключение, Перезагрузка (LXSession-logout) ===<br />
Для работы Выключения, Перезагрузки, Режима сна и Режима ожидания Должен быть запущен dbus. Должен быть установлен пакет upower.<br />
<br />
# pacman -S upower<br />
<br />
См. [[xinitrc#Preserving the session]] подробнее о logind/ConsoleKit.<br />
<br />
=== Редактирование меню приложений ===<br />
Меню приложений работает через передачу {{ic|.desktop}} файлов, которые расположены в {{ic|/usr/share/applications}}. Многие DE запускают программы, которые supersede эти настройки для кастомизации меню. Для LXDE еще только создают редактор меню приложений, но вы можете настроить его вручную, если нужно. Сторонние редакторы меню вы можете найти в [[AUR]] - {{aur|lxmed}}.<br />
<br />
Чтобы добавить или редактировать элемент меню, создайте или сделайте ссылку на {{ic|.desktop}} файл в {{ic|/usr/share/applications}}. Смотрите [http://standards.freedesktop.org/desktop-entry-spec/latest/ the desktop entry specification] на freedesktop.org для получения информации о структуре {{ic|.desktop}} файлов.<br />
<br />
Для удаления элементов из меню вместо удаления {{ic|.desktop}} файлов, вы можете редактировать файл элемента, добавляя следующую строку:<br />
NoDisplay=true.<br />
Для ускорения процесса редактирования большого числа файлов вы можете поместить их в цикл. Например:<br />
cd /usr/share/applications<br />
for i in program1.desktop program2.desktop ...; do cp /usr/share/applications/$i \<br />
/home/user/.local/share/applications/; echo "NoDisplay=true" >> \<br />
/home/user/.local/share/applications/$i; done<br />
<br />
<br />
<br />
<br />
{{translateme}}<br />
<source><br />
The application menu works by resolving the {{ic|.desktop}} files located in {{ic|/usr/share/applications}}. Many desktop environments run programs that supersede these settings to allow customization of the menu. LXDE has yet to create an application menu editor but you can manually build them yourself if you are so inclined. Third party menu editor can be found in [[AUR]] - {{aur|lxmed}}<br />
<br />
To add or edit a menu item, create or link to the {{ic|.desktop}} file in {{ic|/usr/share/applications}}. Consult [http://standards.freedesktop.org/desktop-entry-spec/latest/ the desktop entry specification] on freedesktop.org for structures of {{ic|.desktop}} files.<br />
<br />
To remove items from the menu, instead of deleting the {{ic|.desktop}} files, you can edit the file and add the following line in the file:<br />
NoDisplay=true.<br />
To expedite the process for a good number of files you can put it in a loop. For example:<br />
cd /usr/share/applications<br />
for i in program1.desktop program2.desktop ...; do cp /usr/share/applications/$i \<br />
/home/user/.local/share/applications/; echo "NoDisplay=true" >> \<br />
/home/user/.local/share/applications/$i; done<br />
This will work for all applications except KDE applications. For these, the only way to remove them from the menu is to log into KDE itself and use it's menu editor. For every item that you do not want displayed, check the 'Show only in KDE' option. If adding NoDisplay=True won't work, you can add ShowOnlyIn=XFCE.<br />
</source></div>
Zyamilon
https://wiki.archlinux.org/index.php?title=LXDE_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)&diff=240155
LXDE (Русский)
2012-12-13T14:28:38Z
<p>Zyamilon: /* Редактирование меню приложений */</p>
<hr />
<div>[[Category:Русский]]<br />
[[cs:LXDE]]<br />
[[en:LXDE]]<br />
[[es:LXDE]]<br />
[[fr:LXDE]]<br />
[[it:LXDE]]<br />
[[pl:LXDE]]<br />
[[sr:LXDE]]<br />
[[tr:LXDE_Masaüstü_Ortamı]]<br />
[[uk:LXDE]]<br />
[[zh-CN:LXDE]]<br />
[[zh-TW:LXDE]]<br />
[[Category:Desktop environments (Русский)]]<br />
<br />
{{Article summary start}}<br />
{{Article summary text|[http://wiki.lxde.org/ru LXDE], (от англ. Lightweight X11 Desktop Environment) — это свободная среда рабочего стола для UNIX и других POSIX-совместимых систем, таких как GNU/Linux. Проект LXDE направлен на создание новой быстрой и легковесной среды рабочего стола. LXDE создана не мощной и перегруженной функциями, а простой в использовании, достаточно легкой и не требовательной к ресурсам системы.}}<br />
{{Article summary text|Создатели не стремились тесно интегрировать различные компоненты, наоборот, каждый из них может использоваться отдельно с несколькими зависимостями.}}<br />
{{Article summary text|LXDE использует Openbox как оконный менеджер по умолчанию и стремится предложить быстрый и легкий рабочий стол, основанный на взаимно независимых компонентах.}}<br />
{{Article summary end}}<br />
<br />
[http://lxde.org/ LXDE.org | Lightweight X11 Desktop Environment]: ''"Одно из главных достоинств LXDE - небольшие требования к железу. Философия LXDE - это лёгкость, полезность и практичность."''<br />
<br />
== Установка ==<br />
<br />
LXDE модульный и вы можете выбирать только те пакеты, которые вам нужны.<br />
<br />
Минимально необходимые пакеты для запуска LXDE: {{Pkg|lxde-common}}, {{Pkg|lxsession}}, {{Pkg|desktop-file-utils}} и оконный менеджер.<br />
<br />
Вы можете установить группу пакетов LXDE:<br />
<br />
# pacman -S lxde<br />
<br />
Установятся следующие пакеты:<br />
<br />
* {{Pkg|gpicview}}: Простой и легкий просмоторщик изображений<br />
* {{Pkg|libfm}}: Библиотека для работы с файлами<br />
* {{Pkg|lxappearance}}: Редактор тем для изменения GTK+ тем, иконок и шрифтов для приложений GTK<br />
* {{Pkg|lxappearance-obconf}}: Плагин для настройки Openbox через LXAppearance<br />
* {{Pkg|lxde-common}}: Установки по умолчанию конфигурационных файлов для большинства интегрированных компонентов LXDE<br />
* {{Pkg|lxde-icon-theme}}: Тема значков LXDE<br />
* {{Pkg|lxdm}}: Легковесный менеджер дисплея приветствия<br />
* {{Pkg|lxinput}}: Конфигурационная утилита для вашей клавиатуры и мышки в LXDE <br />
* {{Pkg|lxlauncher}}: Панель запуска приложений для нетбуков<br />
* {{Pkg|lxmenu-data}}: Коллекция файлов адаптирующая меню LXDE под стандарты спецификации freedesktop.org<br />
* {{Pkg|lxmusic}}: Минималистичный проигрыватель музыки базирующийся на xmms2 <br />
* {{Pkg|lxpanel}}: Панель задач с менеджером приложений, меню программ и апплетов<br />
* {{Pkg|lxrandr}}: Менеджер экрана для LXDE<br />
* {{Pkg|lxsession}}: Совместимый X11 менеджер сессий с поддержкой выключения, перезагрузки и ждущего режима<br />
* {{Pkg|lxshortcut}}: Простое средство редактирования ярлычков<br />
* {{Pkg|lxtask}}: Диспетчер задач и системный монитор LXDE<br />
* {{Pkg|lxterminal}}: Стандартный эмулятор терминала для LXDE<br />
* {{Pkg|menu-cache}}: A daemon which automatically generates the menu for LXDE<br />
* {{Pkg|openbox}}: Aлегкий и удобно-конфигурируемый менеджер окон (рекомендуемый менеджер, разработанный вне проекта LXDE).<br />
* {{Pkg|pcmanfm}}: Файловый менеджер, функционал рабочего стола и обоев<br />
<br />
Вам также следует установить [[gamin|Gamin]]. [[gamin|Gamin]] - это инструмент для отслеживания изменений в файлах и директориях, который является реализацией подсистемы FAM. Запуск производится по требованию программ, которые им поддерживаются, поэтому не требуется отдельно демона, подобного [[FAM_(Русский)|FAM]]. Если у Вас установлен [[FAM_(Русский)|FAM]] - удалите запуск этого демона из {{ic|/etc/rc.conf}} и остановите его перед установкой [[gamin|Gamin]]<br />
pacman -S gamin<br />
<br />
Другие легковесные приложения, которые рекомендуется использовать на слабых системах:<br />
* {{Pkg|leafpad}}: Простой и легкий текстовый редактор<br />
* {{Pkg|mousepad}}: Простой текстовый редактор (является текстовым редактором по умолчанию среды Xfce)<br />
* {{Pkg|xarchiver}}: Легкий архиватор<br />
* {{Pkg|obconf}}: Инструмент для настройки тем и стилей Openbox<br />
<br />
== Запуск окружения LXDE ==<br />
Есть несколько способов запустить LXDE.<br />
=== Display Managers ===<br />
Если Вы используете менеджеры [[SLiM_(Русский)|SLiM]], [[Display_Manager_(Русский)|GDM]], или [[KDM_(Русский)|KDM]], в настройках сессии нужно выбрать LXDE. <br />
<br />
Инструкция по использованию LXDM [https://wiki.archlinux.org/index.php/LXDE#LXDM ниже на этой странице].<br />
<br />
Если не используете менеджер дисплея приветствия добавьте<br />
<br />
export DESKTOP_SESSION=LXDE<br />
<br />
в ваш <code>~/.bash_profile</code> Для првавильного функционирования [[Xdg-open]]<br />
<br />
=== Консоль ===<br />
Для использования команды '''startx''' необходимо добавить в файл [[Beginners'_Guide#C:_Test_X|{{ic|~/.xinitrc}}]] команду запуска LXDE:<br />
<br />
exec startlxde<br />
<br />
Если Вы хотите выполнять '''startx''' автоматически при загрузке, прочитайте статью [[Start X at Boot (Русский)#Запуск X выбранным пользователем без логина | Запуск X при загрузке]].<br />
<br />
'''Для других задач Вы должны быть уверены, что демон dbus запущен.'''<br />
<br />
== Советы и рекомендации ==<br />
=== Автомонтирвание ===<br />
[[PCManFM (Русский)#Работа с томами]]<br />
<br />
=== Автозапуск программ ===<br />
; .desktop файлы<br />
<br />
Вы можете скопировать ярлык программы {{ic|.desktop}} из {{ic|/usr/share/applications/}} в {{ic|~/.config/autostart/}}. Например, добавим lxterminal в автозапуск:<br />
$ ln -s /usr/share/applications/lxterminal.desktop ~/.config/autostart/<br />
После добавления {{ic|.desktop}} файлов Вы можете упралять ими с помощью {{AUR|lxsession-edit}}.<br />
<br />
; autostart файл<br />
Второй способ. Использование файла {{ic|~/.config/lxsession/LXDE/autostart}}. Этот файл не скрипт, но каждая строка представляет собой команду, которая будет выполнена, если строка начинается с символа @, команда после @ будет автоматически повторно выполняться, если она падает. Например, чтобы выполнить lxterminal и leafpad автоматически при запуске:<br />
{{hc|~/.config/lxsession/LXDE/autostart|<br />
@lxterminal<br />
@leafpad<br />
}}<br />
{{Note|Ппсле команды '''ненужно''' ставить символ &}}<br />
Существует также глобальный файл автозапуска {{ic|/etc/xdg/lxsession/LXDE/autostart}}. Если эти файлы присутствуют одновременно, то оба будут выполнены.<br />
<br />
=== Горячие клавиши ===<br />
Управление горячими клавишами осуществляется через Openbox и подробно описаны [http://openbox.org/wiki/Help:Bindings здесь]. Пользователи LXDE должны следовать этим инструкциям, чтобы отредактировать файл '''~/.config/openbox/lxde-rc.xml'''<br />
<br />
Дополнительный графический интерфейс для редактирования горячих клавиш - {{AUR | obkey}} доступен в AUR. Поумолчанию obkey редактирует файл rc.xml, Но вы можете использовать его в LXDE таким образом:<br />
<br />
$ obkey ~/.config/openbox/lxde-rc.xml<br />
<br />
Больше информации о obkey [http://code.google.com/p/obkey/ здесь].<br />
<br />
=== Курсоры ===<br />
Полная статья: [[X11 Cursors]].<br />
<br />
Последний {{AUR|lxappearance2-git}} в [[AUR]] предоставляет функциональные возможности для изменения тем курсора. Если Вы не хотите устанавливать экспериментальный lxappearance2, можете указать свой курсор в файле {{ic|~/.Xdefaults}}. См. [[X11_Cursors#Choosing_and_Configuring_Cursor_Themes|Configuring Cursor Themes]].<br />
<br />
Простым способом является добавление курсор к теме по умолчанию. Сначала нужно создать каталог:<br />
# mkdir /usr/share/icons/default<br />
Then you can specify to add to the icon theme the cursor. This will use the {{Pkg|xcursor-bluecurve}} pointer theme:<br />
{{hc|/usr/share/icons/default/index.theme|2=<br />
[icon theme]<br />
Inherits=Bluecurve<br />
}}<br />
<br />
=== Шрифты настройка ===<br />
Для установки шрифтов, вы можете использовать {{Pkg|lxappearance}} и установить основной шрифт. Для настройки других шрифтов можно использовать '''Openbox configuration tool''' ObConf:<br />
# pacman -S obconf<br />
<br />
=== Раскладка клавиатуры ===<br />
====udev====<br />
<br />
Когда вы используете [[udev]], конфигурация ввода по умолчанию записываются в {{ic|/etc/X11/xorg.conf.d/10-evdev.conf}} в {{ic|Section "InputClass"}}. Вы можете редактировать этот или создать новый файл {{ic|/etc/X11/xorg.conf.d/20-keyboard.conf}} по следующему примеру (переключение раскладки клавишами Alt+Shift, индикация CAPS-диодом на клавиатуре):<br />
Section "InputClass"<br />
Identifier "evdev keyboard catchall"<br />
MatchIsKeyboard "on"<br />
MatchDevicePath "/dev/input/event*"<br />
Driver "evdev"<br />
Option "XkbModel" "pc104"<br />
Option "XkbLayout" "us,ru"<br />
Option "XkbOptions" "grp:alt_shift_toggle,grp_led:caps"<br />
EndSection<br />
Вы можете найти список всех значений в {{ic|/usr/share/X11/xkb/rules/base.lst}}.<br />
<br />
====Другие способы====<br />
<br />
1 способ:<br />
Добавьте в /etc/xdg/lxsession/LXDE/autostart следующие строки перед @lxpanel --profile LXDE:<br />
@setxkbmap -option grp:switch,grp:alt_shift_toggle,grp_led:scroll us,ru<br />
или в ~/.config/lxsession/LXDE/autostart (для конкретного пользователя):<br />
setxkbmap -option grp:switch,grp:alt_shift_toggle,grp_led:scroll us,ru<br />
2 способ:<br />
Create /etc/xdg/autostart/setxkmap.desktop as following:<br />
[Desktop Entry]<br />
Version=1.0<br />
Encoding=UTF-8<br />
Name=Fix keyboard settings<br />
Exec=setxkbmap -rules xorg -layout "us,ru" -variant ",winkeys" -option "grp:ctrl_shift_toggle"<br />
Terminal=false<br />
Type=Application <br />
3 способ:<br />
Добавьте в ~/.Xkbmap, для текущего пользователя, или в /etc/X11/Xkbmap, для всей системы, строку:<br />
-option grp:ctrl_shift_toggle,grp_led:scroll us,ru<br />
4 способ:<br />
Добавьте следующую строку в /etc/X11/xinit/xinitrc или ~/.xinitrc:<br />
setxkbmap -option grp:ctrl_shift_toggle,grp_led:scroll us,ru<br />
5 способ:<br />
Установите {{AUR | fbxkb}} из [[AUR]]<br />
<br />
6 способ:<br />
[[Xorg (Русский)#Переключение раскладок средствами X.org]]<br />
<br />
====Посредством LXDE====<br />
<br />
# Правый клик на панели задач<br />
# “Добавить/убрать элементы панели”<br />
# “Добавить”<br />
# “Индикатор раскладок клавиатуры”<br />
<br />
=== LXDM ===<br />
LXDE теперь обеспечивает экспериментальную менеджер дисплея приветствия LXDM. Это реализовано с GTK+ и [http://blog.lxde.org/?p=595 supports theming].<br />
<br />
====Установка LXDM====<br />
# pacman -S lxdm<br />
<br />
Для автоматического запуска LXDM Вы можете редактировать {{ic|/etc/inittab}} или {{ic|/etc/rc.conf}}.<br />
Для получения дополнительной информации см. [[Display Manager]].<br />
<br />
====Настройка====<br />
Все конфигурационные файлы для LXDM расположены в {{ic|/etc/lxdm}}. Основной файл конфигурации {{ic|lxdm.conf}} хорошо документирован в его коментарии. Файл, {{ic|Xsession}}, является общесистемным и не должен редактироваться. Другие файлы - это bash скрипты, которые выполняются при наступлении определенных событий в LXDM.<br />
К ним относятся:<br />
# {{ic|LoginReady}}: Выполняется с правами root когда LXDM готова показать окно входа в систему.<br />
# {{ic|PreLogin}}: Выполняется с правами root перед входом пользователя.<br />
# {{ic|PostLogin}}: Выполняется с правами авторизованного пользователя сразу после входа.<br />
# {{ic|PostLogout}}: Выполняется с правами авторизованного пользователя после выхода.<br />
# {{ic|PreReboot}}: Выполняется с правами root перед перезагрузкой компьютера с LXDM.<br />
# {{ic|PreShutdown}}: Выполняется с правами root перед выключением компьютера с LXDM.<br />
<br />
=====Ожидаемое поведение после Logout=====<br />
Может быть немного удивительно, что LXDM по умолчанию не очищает фон рабочего стола и не убивает процессы пользователя после его выхода. Для решения проблемы необходимо добавить в файл {{ic|/etc/lxdm/PostLogout}}:<br />
<br />
#!/bin/sh<br />
<br />
# Kills all your processes when you log out.<br />
killall --user $USER -TERM<br />
<br />
# Set's the desktop background to solid black. Useful if you have multiple monitors.<br />
xsetroot -solid black<br />
<br />
=====Автоматический вход=====<br />
Если вы хотите войти в учетную запись без ввода пароля, найдите строку в {{ic|/etc/lxdm/lxdm.conf}}, которая выглядит следующим образом:<br />
#autologin=username<br />
Раскомментируйте его и подставьте нужное имя пользователя, вместо "username".<br />
<br />
=== [[PCManFM]] ===<br />
Если вы хотите иметь доступ к Корзине, монтированию томов и folder/file tracking Вам необходима поддержка gvfs:<br />
<br />
pacman -S polkit-gnome gvfs<br />
<br />
polkit-gnome обеспечивает аутентификацию и должен быть запущен при входе в систему:<br />
<br />
$ mkdir -p ~/.config/autostart<br />
$ cp /etc/xdg/autostart/polkit-gnome-authentication-agent-1.desktop ~/.config/autostart<br />
<br />
В Arch'е этот файл в настоящее время не работает на некоторых системах. Если у вас проблема запуском, удалите строку<br />
<br />
OnlyShowIn=GNOME;XFCE;<br />
<br />
из файла {{ic|~/.config/autostart/polkit-gnome-authentication-agent-1.desktop}}:<br />
<br />
[http://wiki.lxde.org/en/LXDE:PCManFM_build_and_setup_guide#Setup_Runtime_Environment_Correctly PCManFM @ LXDE wiki]<br />
<br />
=== Замена оконного менеджера === <br />
[[Openbox]], стандартный менеджер окон LXDE, может быть заменен другими. Например fvwm, icewm, dwm, metacity, compiz ...etc.<br />
<br />
LXDE будет пытаться использовать оконный менеджер из пользовательского фаула конфигурации lxsession {{ic|~/.config/lxsession/LXDE/desktop.conf}}.Если его не существует, будет пытаться использовать глобальный файл конфигурации {{ic|/etc/xdg/lxsession/LXDE/desktop.conf}}.<br />
<br />
Замените команду openbox-lxde на ваш менеджер окон:<br />
[Session]<br />
window_manager=openbox-lxde<br />
Для metacity:<br />
window_manager=metacity<br />
Для compiz:<br />
window_manager=compiz ccp --indirect-rendering<br />
<br />
=== Выключение, Перезагрузка (LXSession-logout) ===<br />
Для работы Выключения, Перезагрузки, Режима сна и Режима ожидания Должен быть запущен dbus. Должен быть установлен пакет upower.<br />
<br />
# pacman -S upower<br />
<br />
См. [[xinitrc#Preserving the session]] подробнее о logind/ConsoleKit.<br />
<br />
=== Редактирование меню приложений ===<br />
Меню приложений работает через передачу {{ic|.desktop}} файлов, которые расположены в {{ic|/usr/share/applications}}. Многие DE запускают программы, которые supersede эти настройки для кастомизации меню. Для LXDE еще только создают редактор меню приложений, но вы можете настроить его вручную, если нужно. Сторонние редакторы меню вы можете найти в [[AUR]] - {{aur|lxmed}}.<br />
<br />
Чтобы добавить или редактировать элемент меню, создайте или сделайте ссылку на {{ic|.desktop}} файл в {{ic|/usr/share/applications}}. Смотрите [http://standards.freedesktop.org/desktop-entry-spec/latest/ the desktop entry specification] на freedesktop.org для получения информации о структуре {{ic|.desktop}} файлов.<br />
<br />
<br />
{{translateme}}<br />
<source><br />
The application menu works by resolving the {{ic|.desktop}} files located in {{ic|/usr/share/applications}}. Many desktop environments run programs that supersede these settings to allow customization of the menu. LXDE has yet to create an application menu editor but you can manually build them yourself if you are so inclined. Third party menu editor can be found in [[AUR]] - {{aur|lxmed}}<br />
<br />
To add or edit a menu item, create or link to the {{ic|.desktop}} file in {{ic|/usr/share/applications}}. Consult [http://standards.freedesktop.org/desktop-entry-spec/latest/ the desktop entry specification] on freedesktop.org for structures of {{ic|.desktop}} files.<br />
<br />
To remove items from the menu, instead of deleting the {{ic|.desktop}} files, you can edit the file and add the following line in the file:<br />
NoDisplay=true.<br />
To expedite the process for a good number of files you can put it in a loop. For example:<br />
cd /usr/share/applications<br />
for i in program1.desktop program2.desktop ...; do cp /usr/share/applications/$i \<br />
/home/user/.local/share/applications/; echo "NoDisplay=true" >> \<br />
/home/user/.local/share/applications/$i; done<br />
This will work for all applications except KDE applications. For these, the only way to remove them from the menu is to log into KDE itself and use it's menu editor. For every item that you do not want displayed, check the 'Show only in KDE' option. If adding NoDisplay=True won't work, you can add ShowOnlyIn=XFCE.<br />
</source></div>
Zyamilon
https://wiki.archlinux.org/index.php?title=LXDE_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)&diff=240153
LXDE (Русский)
2012-12-13T14:25:37Z
<p>Zyamilon: /* Редактирование меню приложений */</p>
<hr />
<div>[[Category:Русский]]<br />
[[cs:LXDE]]<br />
[[en:LXDE]]<br />
[[es:LXDE]]<br />
[[fr:LXDE]]<br />
[[it:LXDE]]<br />
[[pl:LXDE]]<br />
[[sr:LXDE]]<br />
[[tr:LXDE_Masaüstü_Ortamı]]<br />
[[uk:LXDE]]<br />
[[zh-CN:LXDE]]<br />
[[zh-TW:LXDE]]<br />
[[Category:Desktop environments (Русский)]]<br />
<br />
{{Article summary start}}<br />
{{Article summary text|[http://wiki.lxde.org/ru LXDE], (от англ. Lightweight X11 Desktop Environment) — это свободная среда рабочего стола для UNIX и других POSIX-совместимых систем, таких как GNU/Linux. Проект LXDE направлен на создание новой быстрой и легковесной среды рабочего стола. LXDE создана не мощной и перегруженной функциями, а простой в использовании, достаточно легкой и не требовательной к ресурсам системы.}}<br />
{{Article summary text|Создатели не стремились тесно интегрировать различные компоненты, наоборот, каждый из них может использоваться отдельно с несколькими зависимостями.}}<br />
{{Article summary text|LXDE использует Openbox как оконный менеджер по умолчанию и стремится предложить быстрый и легкий рабочий стол, основанный на взаимно независимых компонентах.}}<br />
{{Article summary end}}<br />
<br />
[http://lxde.org/ LXDE.org | Lightweight X11 Desktop Environment]: ''"Одно из главных достоинств LXDE - небольшие требования к железу. Философия LXDE - это лёгкость, полезность и практичность."''<br />
<br />
== Установка ==<br />
<br />
LXDE модульный и вы можете выбирать только те пакеты, которые вам нужны.<br />
<br />
Минимально необходимые пакеты для запуска LXDE: {{Pkg|lxde-common}}, {{Pkg|lxsession}}, {{Pkg|desktop-file-utils}} и оконный менеджер.<br />
<br />
Вы можете установить группу пакетов LXDE:<br />
<br />
# pacman -S lxde<br />
<br />
Установятся следующие пакеты:<br />
<br />
* {{Pkg|gpicview}}: Простой и легкий просмоторщик изображений<br />
* {{Pkg|libfm}}: Библиотека для работы с файлами<br />
* {{Pkg|lxappearance}}: Редактор тем для изменения GTK+ тем, иконок и шрифтов для приложений GTK<br />
* {{Pkg|lxappearance-obconf}}: Плагин для настройки Openbox через LXAppearance<br />
* {{Pkg|lxde-common}}: Установки по умолчанию конфигурационных файлов для большинства интегрированных компонентов LXDE<br />
* {{Pkg|lxde-icon-theme}}: Тема значков LXDE<br />
* {{Pkg|lxdm}}: Легковесный менеджер дисплея приветствия<br />
* {{Pkg|lxinput}}: Конфигурационная утилита для вашей клавиатуры и мышки в LXDE <br />
* {{Pkg|lxlauncher}}: Панель запуска приложений для нетбуков<br />
* {{Pkg|lxmenu-data}}: Коллекция файлов адаптирующая меню LXDE под стандарты спецификации freedesktop.org<br />
* {{Pkg|lxmusic}}: Минималистичный проигрыватель музыки базирующийся на xmms2 <br />
* {{Pkg|lxpanel}}: Панель задач с менеджером приложений, меню программ и апплетов<br />
* {{Pkg|lxrandr}}: Менеджер экрана для LXDE<br />
* {{Pkg|lxsession}}: Совместимый X11 менеджер сессий с поддержкой выключения, перезагрузки и ждущего режима<br />
* {{Pkg|lxshortcut}}: Простое средство редактирования ярлычков<br />
* {{Pkg|lxtask}}: Диспетчер задач и системный монитор LXDE<br />
* {{Pkg|lxterminal}}: Стандартный эмулятор терминала для LXDE<br />
* {{Pkg|menu-cache}}: A daemon which automatically generates the menu for LXDE<br />
* {{Pkg|openbox}}: Aлегкий и удобно-конфигурируемый менеджер окон (рекомендуемый менеджер, разработанный вне проекта LXDE).<br />
* {{Pkg|pcmanfm}}: Файловый менеджер, функционал рабочего стола и обоев<br />
<br />
Вам также следует установить [[gamin|Gamin]]. [[gamin|Gamin]] - это инструмент для отслеживания изменений в файлах и директориях, который является реализацией подсистемы FAM. Запуск производится по требованию программ, которые им поддерживаются, поэтому не требуется отдельно демона, подобного [[FAM_(Русский)|FAM]]. Если у Вас установлен [[FAM_(Русский)|FAM]] - удалите запуск этого демона из {{ic|/etc/rc.conf}} и остановите его перед установкой [[gamin|Gamin]]<br />
pacman -S gamin<br />
<br />
Другие легковесные приложения, которые рекомендуется использовать на слабых системах:<br />
* {{Pkg|leafpad}}: Простой и легкий текстовый редактор<br />
* {{Pkg|mousepad}}: Простой текстовый редактор (является текстовым редактором по умолчанию среды Xfce)<br />
* {{Pkg|xarchiver}}: Легкий архиватор<br />
* {{Pkg|obconf}}: Инструмент для настройки тем и стилей Openbox<br />
<br />
== Запуск окружения LXDE ==<br />
Есть несколько способов запустить LXDE.<br />
=== Display Managers ===<br />
Если Вы используете менеджеры [[SLiM_(Русский)|SLiM]], [[Display_Manager_(Русский)|GDM]], или [[KDM_(Русский)|KDM]], в настройках сессии нужно выбрать LXDE. <br />
<br />
Инструкция по использованию LXDM [https://wiki.archlinux.org/index.php/LXDE#LXDM ниже на этой странице].<br />
<br />
Если не используете менеджер дисплея приветствия добавьте<br />
<br />
export DESKTOP_SESSION=LXDE<br />
<br />
в ваш <code>~/.bash_profile</code> Для првавильного функционирования [[Xdg-open]]<br />
<br />
=== Консоль ===<br />
Для использования команды '''startx''' необходимо добавить в файл [[Beginners'_Guide#C:_Test_X|{{ic|~/.xinitrc}}]] команду запуска LXDE:<br />
<br />
exec startlxde<br />
<br />
Если Вы хотите выполнять '''startx''' автоматически при загрузке, прочитайте статью [[Start X at Boot (Русский)#Запуск X выбранным пользователем без логина | Запуск X при загрузке]].<br />
<br />
'''Для других задач Вы должны быть уверены, что демон dbus запущен.'''<br />
<br />
== Советы и рекомендации ==<br />
=== Автомонтирвание ===<br />
[[PCManFM (Русский)#Работа с томами]]<br />
<br />
=== Автозапуск программ ===<br />
; .desktop файлы<br />
<br />
Вы можете скопировать ярлык программы {{ic|.desktop}} из {{ic|/usr/share/applications/}} в {{ic|~/.config/autostart/}}. Например, добавим lxterminal в автозапуск:<br />
$ ln -s /usr/share/applications/lxterminal.desktop ~/.config/autostart/<br />
После добавления {{ic|.desktop}} файлов Вы можете упралять ими с помощью {{AUR|lxsession-edit}}.<br />
<br />
; autostart файл<br />
Второй способ. Использование файла {{ic|~/.config/lxsession/LXDE/autostart}}. Этот файл не скрипт, но каждая строка представляет собой команду, которая будет выполнена, если строка начинается с символа @, команда после @ будет автоматически повторно выполняться, если она падает. Например, чтобы выполнить lxterminal и leafpad автоматически при запуске:<br />
{{hc|~/.config/lxsession/LXDE/autostart|<br />
@lxterminal<br />
@leafpad<br />
}}<br />
{{Note|Ппсле команды '''ненужно''' ставить символ &}}<br />
Существует также глобальный файл автозапуска {{ic|/etc/xdg/lxsession/LXDE/autostart}}. Если эти файлы присутствуют одновременно, то оба будут выполнены.<br />
<br />
=== Горячие клавиши ===<br />
Управление горячими клавишами осуществляется через Openbox и подробно описаны [http://openbox.org/wiki/Help:Bindings здесь]. Пользователи LXDE должны следовать этим инструкциям, чтобы отредактировать файл '''~/.config/openbox/lxde-rc.xml'''<br />
<br />
Дополнительный графический интерфейс для редактирования горячих клавиш - {{AUR | obkey}} доступен в AUR. Поумолчанию obkey редактирует файл rc.xml, Но вы можете использовать его в LXDE таким образом:<br />
<br />
$ obkey ~/.config/openbox/lxde-rc.xml<br />
<br />
Больше информации о obkey [http://code.google.com/p/obkey/ здесь].<br />
<br />
=== Курсоры ===<br />
Полная статья: [[X11 Cursors]].<br />
<br />
Последний {{AUR|lxappearance2-git}} в [[AUR]] предоставляет функциональные возможности для изменения тем курсора. Если Вы не хотите устанавливать экспериментальный lxappearance2, можете указать свой курсор в файле {{ic|~/.Xdefaults}}. См. [[X11_Cursors#Choosing_and_Configuring_Cursor_Themes|Configuring Cursor Themes]].<br />
<br />
Простым способом является добавление курсор к теме по умолчанию. Сначала нужно создать каталог:<br />
# mkdir /usr/share/icons/default<br />
Then you can specify to add to the icon theme the cursor. This will use the {{Pkg|xcursor-bluecurve}} pointer theme:<br />
{{hc|/usr/share/icons/default/index.theme|2=<br />
[icon theme]<br />
Inherits=Bluecurve<br />
}}<br />
<br />
=== Шрифты настройка ===<br />
Для установки шрифтов, вы можете использовать {{Pkg|lxappearance}} и установить основной шрифт. Для настройки других шрифтов можно использовать '''Openbox configuration tool''' ObConf:<br />
# pacman -S obconf<br />
<br />
=== Раскладка клавиатуры ===<br />
====udev====<br />
<br />
Когда вы используете [[udev]], конфигурация ввода по умолчанию записываются в {{ic|/etc/X11/xorg.conf.d/10-evdev.conf}} в {{ic|Section "InputClass"}}. Вы можете редактировать этот или создать новый файл {{ic|/etc/X11/xorg.conf.d/20-keyboard.conf}} по следующему примеру (переключение раскладки клавишами Alt+Shift, индикация CAPS-диодом на клавиатуре):<br />
Section "InputClass"<br />
Identifier "evdev keyboard catchall"<br />
MatchIsKeyboard "on"<br />
MatchDevicePath "/dev/input/event*"<br />
Driver "evdev"<br />
Option "XkbModel" "pc104"<br />
Option "XkbLayout" "us,ru"<br />
Option "XkbOptions" "grp:alt_shift_toggle,grp_led:caps"<br />
EndSection<br />
Вы можете найти список всех значений в {{ic|/usr/share/X11/xkb/rules/base.lst}}.<br />
<br />
====Другие способы====<br />
<br />
1 способ:<br />
Добавьте в /etc/xdg/lxsession/LXDE/autostart следующие строки перед @lxpanel --profile LXDE:<br />
@setxkbmap -option grp:switch,grp:alt_shift_toggle,grp_led:scroll us,ru<br />
или в ~/.config/lxsession/LXDE/autostart (для конкретного пользователя):<br />
setxkbmap -option grp:switch,grp:alt_shift_toggle,grp_led:scroll us,ru<br />
2 способ:<br />
Create /etc/xdg/autostart/setxkmap.desktop as following:<br />
[Desktop Entry]<br />
Version=1.0<br />
Encoding=UTF-8<br />
Name=Fix keyboard settings<br />
Exec=setxkbmap -rules xorg -layout "us,ru" -variant ",winkeys" -option "grp:ctrl_shift_toggle"<br />
Terminal=false<br />
Type=Application <br />
3 способ:<br />
Добавьте в ~/.Xkbmap, для текущего пользователя, или в /etc/X11/Xkbmap, для всей системы, строку:<br />
-option grp:ctrl_shift_toggle,grp_led:scroll us,ru<br />
4 способ:<br />
Добавьте следующую строку в /etc/X11/xinit/xinitrc или ~/.xinitrc:<br />
setxkbmap -option grp:ctrl_shift_toggle,grp_led:scroll us,ru<br />
5 способ:<br />
Установите {{AUR | fbxkb}} из [[AUR]]<br />
<br />
6 способ:<br />
[[Xorg (Русский)#Переключение раскладок средствами X.org]]<br />
<br />
====Посредством LXDE====<br />
<br />
# Правый клик на панели задач<br />
# “Добавить/убрать элементы панели”<br />
# “Добавить”<br />
# “Индикатор раскладок клавиатуры”<br />
<br />
=== LXDM ===<br />
LXDE теперь обеспечивает экспериментальную менеджер дисплея приветствия LXDM. Это реализовано с GTK+ и [http://blog.lxde.org/?p=595 supports theming].<br />
<br />
====Установка LXDM====<br />
# pacman -S lxdm<br />
<br />
Для автоматического запуска LXDM Вы можете редактировать {{ic|/etc/inittab}} или {{ic|/etc/rc.conf}}.<br />
Для получения дополнительной информации см. [[Display Manager]].<br />
<br />
====Настройка====<br />
Все конфигурационные файлы для LXDM расположены в {{ic|/etc/lxdm}}. Основной файл конфигурации {{ic|lxdm.conf}} хорошо документирован в его коментарии. Файл, {{ic|Xsession}}, является общесистемным и не должен редактироваться. Другие файлы - это bash скрипты, которые выполняются при наступлении определенных событий в LXDM.<br />
К ним относятся:<br />
# {{ic|LoginReady}}: Выполняется с правами root когда LXDM готова показать окно входа в систему.<br />
# {{ic|PreLogin}}: Выполняется с правами root перед входом пользователя.<br />
# {{ic|PostLogin}}: Выполняется с правами авторизованного пользователя сразу после входа.<br />
# {{ic|PostLogout}}: Выполняется с правами авторизованного пользователя после выхода.<br />
# {{ic|PreReboot}}: Выполняется с правами root перед перезагрузкой компьютера с LXDM.<br />
# {{ic|PreShutdown}}: Выполняется с правами root перед выключением компьютера с LXDM.<br />
<br />
=====Ожидаемое поведение после Logout=====<br />
Может быть немного удивительно, что LXDM по умолчанию не очищает фон рабочего стола и не убивает процессы пользователя после его выхода. Для решения проблемы необходимо добавить в файл {{ic|/etc/lxdm/PostLogout}}:<br />
<br />
#!/bin/sh<br />
<br />
# Kills all your processes when you log out.<br />
killall --user $USER -TERM<br />
<br />
# Set's the desktop background to solid black. Useful if you have multiple monitors.<br />
xsetroot -solid black<br />
<br />
=====Автоматический вход=====<br />
Если вы хотите войти в учетную запись без ввода пароля, найдите строку в {{ic|/etc/lxdm/lxdm.conf}}, которая выглядит следующим образом:<br />
#autologin=username<br />
Раскомментируйте его и подставьте нужное имя пользователя, вместо "username".<br />
<br />
=== [[PCManFM]] ===<br />
Если вы хотите иметь доступ к Корзине, монтированию томов и folder/file tracking Вам необходима поддержка gvfs:<br />
<br />
pacman -S polkit-gnome gvfs<br />
<br />
polkit-gnome обеспечивает аутентификацию и должен быть запущен при входе в систему:<br />
<br />
$ mkdir -p ~/.config/autostart<br />
$ cp /etc/xdg/autostart/polkit-gnome-authentication-agent-1.desktop ~/.config/autostart<br />
<br />
В Arch'е этот файл в настоящее время не работает на некоторых системах. Если у вас проблема запуском, удалите строку<br />
<br />
OnlyShowIn=GNOME;XFCE;<br />
<br />
из файла {{ic|~/.config/autostart/polkit-gnome-authentication-agent-1.desktop}}:<br />
<br />
[http://wiki.lxde.org/en/LXDE:PCManFM_build_and_setup_guide#Setup_Runtime_Environment_Correctly PCManFM @ LXDE wiki]<br />
<br />
=== Замена оконного менеджера === <br />
[[Openbox]], стандартный менеджер окон LXDE, может быть заменен другими. Например fvwm, icewm, dwm, metacity, compiz ...etc.<br />
<br />
LXDE будет пытаться использовать оконный менеджер из пользовательского фаула конфигурации lxsession {{ic|~/.config/lxsession/LXDE/desktop.conf}}.Если его не существует, будет пытаться использовать глобальный файл конфигурации {{ic|/etc/xdg/lxsession/LXDE/desktop.conf}}.<br />
<br />
Замените команду openbox-lxde на ваш менеджер окон:<br />
[Session]<br />
window_manager=openbox-lxde<br />
Для metacity:<br />
window_manager=metacity<br />
Для compiz:<br />
window_manager=compiz ccp --indirect-rendering<br />
<br />
=== Выключение, Перезагрузка (LXSession-logout) ===<br />
Для работы Выключения, Перезагрузки, Режима сна и Режима ожидания Должен быть запущен dbus. Должен быть установлен пакет upower.<br />
<br />
# pacman -S upower<br />
<br />
См. [[xinitrc#Preserving the session]] подробнее о logind/ConsoleKit.<br />
<br />
=== Редактирование меню приложений ===<br />
Меню приложений работает через передачу {{ic|.desktop}} файлов, которые расположены в {{ic|/usr/share/applications}}. Многие DE запускают программы, которые supersede эти настройки для кастомизации меню. Для LXDE еще только создают редактор меню приложений, но вы можете настроить его вручную, если нужно. Сторонние редакторы меню вы можете найти в [[AUR]] - {{aur|lxmed}}.<br />
{{translateme}}<br />
<source><br />
The application menu works by resolving the {{ic|.desktop}} files located in {{ic|/usr/share/applications}}. Many desktop environments run programs that supersede these settings to allow customization of the menu. LXDE has yet to create an application menu editor but you can manually build them yourself if you are so inclined. Third party menu editor can be found in [[AUR]] - {{aur|lxmed}}<br />
<br />
To add or edit a menu item, create or link to the {{ic|.desktop}} file in {{ic|/usr/share/applications}}. Consult [http://standards.freedesktop.org/desktop-entry-spec/latest/ the desktop entry specification] on freedesktop.org for structures of {{ic|.desktop}} files.<br />
<br />
To remove items from the menu, instead of deleting the {{ic|.desktop}} files, you can edit the file and add the following line in the file:<br />
NoDisplay=true.<br />
To expedite the process for a good number of files you can put it in a loop. For example:<br />
cd /usr/share/applications<br />
for i in program1.desktop program2.desktop ...; do cp /usr/share/applications/$i \<br />
/home/user/.local/share/applications/; echo "NoDisplay=true" >> \<br />
/home/user/.local/share/applications/$i; done<br />
This will work for all applications except KDE applications. For these, the only way to remove them from the menu is to log into KDE itself and use it's menu editor. For every item that you do not want displayed, check the 'Show only in KDE' option. If adding NoDisplay=True won't work, you can add ShowOnlyIn=XFCE.<br />
</source></div>
Zyamilon
https://wiki.archlinux.org/index.php?title=LXDE_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)&diff=240151
LXDE (Русский)
2012-12-13T14:19:42Z
<p>Zyamilon: /* Редактирование меню приложений */</p>
<hr />
<div>[[Category:Русский]]<br />
[[cs:LXDE]]<br />
[[en:LXDE]]<br />
[[es:LXDE]]<br />
[[fr:LXDE]]<br />
[[it:LXDE]]<br />
[[pl:LXDE]]<br />
[[sr:LXDE]]<br />
[[tr:LXDE_Masaüstü_Ortamı]]<br />
[[uk:LXDE]]<br />
[[zh-CN:LXDE]]<br />
[[zh-TW:LXDE]]<br />
[[Category:Desktop environments (Русский)]]<br />
<br />
{{Article summary start}}<br />
{{Article summary text|[http://wiki.lxde.org/ru LXDE], (от англ. Lightweight X11 Desktop Environment) — это свободная среда рабочего стола для UNIX и других POSIX-совместимых систем, таких как GNU/Linux. Проект LXDE направлен на создание новой быстрой и легковесной среды рабочего стола. LXDE создана не мощной и перегруженной функциями, а простой в использовании, достаточно легкой и не требовательной к ресурсам системы.}}<br />
{{Article summary text|Создатели не стремились тесно интегрировать различные компоненты, наоборот, каждый из них может использоваться отдельно с несколькими зависимостями.}}<br />
{{Article summary text|LXDE использует Openbox как оконный менеджер по умолчанию и стремится предложить быстрый и легкий рабочий стол, основанный на взаимно независимых компонентах.}}<br />
{{Article summary end}}<br />
<br />
[http://lxde.org/ LXDE.org | Lightweight X11 Desktop Environment]: ''"Одно из главных достоинств LXDE - небольшие требования к железу. Философия LXDE - это лёгкость, полезность и практичность."''<br />
<br />
== Установка ==<br />
<br />
LXDE модульный и вы можете выбирать только те пакеты, которые вам нужны.<br />
<br />
Минимально необходимые пакеты для запуска LXDE: {{Pkg|lxde-common}}, {{Pkg|lxsession}}, {{Pkg|desktop-file-utils}} и оконный менеджер.<br />
<br />
Вы можете установить группу пакетов LXDE:<br />
<br />
# pacman -S lxde<br />
<br />
Установятся следующие пакеты:<br />
<br />
* {{Pkg|gpicview}}: Простой и легкий просмоторщик изображений<br />
* {{Pkg|libfm}}: Библиотека для работы с файлами<br />
* {{Pkg|lxappearance}}: Редактор тем для изменения GTK+ тем, иконок и шрифтов для приложений GTK<br />
* {{Pkg|lxappearance-obconf}}: Плагин для настройки Openbox через LXAppearance<br />
* {{Pkg|lxde-common}}: Установки по умолчанию конфигурационных файлов для большинства интегрированных компонентов LXDE<br />
* {{Pkg|lxde-icon-theme}}: Тема значков LXDE<br />
* {{Pkg|lxdm}}: Легковесный менеджер дисплея приветствия<br />
* {{Pkg|lxinput}}: Конфигурационная утилита для вашей клавиатуры и мышки в LXDE <br />
* {{Pkg|lxlauncher}}: Панель запуска приложений для нетбуков<br />
* {{Pkg|lxmenu-data}}: Коллекция файлов адаптирующая меню LXDE под стандарты спецификации freedesktop.org<br />
* {{Pkg|lxmusic}}: Минималистичный проигрыватель музыки базирующийся на xmms2 <br />
* {{Pkg|lxpanel}}: Панель задач с менеджером приложений, меню программ и апплетов<br />
* {{Pkg|lxrandr}}: Менеджер экрана для LXDE<br />
* {{Pkg|lxsession}}: Совместимый X11 менеджер сессий с поддержкой выключения, перезагрузки и ждущего режима<br />
* {{Pkg|lxshortcut}}: Простое средство редактирования ярлычков<br />
* {{Pkg|lxtask}}: Диспетчер задач и системный монитор LXDE<br />
* {{Pkg|lxterminal}}: Стандартный эмулятор терминала для LXDE<br />
* {{Pkg|menu-cache}}: A daemon which automatically generates the menu for LXDE<br />
* {{Pkg|openbox}}: Aлегкий и удобно-конфигурируемый менеджер окон (рекомендуемый менеджер, разработанный вне проекта LXDE).<br />
* {{Pkg|pcmanfm}}: Файловый менеджер, функционал рабочего стола и обоев<br />
<br />
Вам также следует установить [[gamin|Gamin]]. [[gamin|Gamin]] - это инструмент для отслеживания изменений в файлах и директориях, который является реализацией подсистемы FAM. Запуск производится по требованию программ, которые им поддерживаются, поэтому не требуется отдельно демона, подобного [[FAM_(Русский)|FAM]]. Если у Вас установлен [[FAM_(Русский)|FAM]] - удалите запуск этого демона из {{ic|/etc/rc.conf}} и остановите его перед установкой [[gamin|Gamin]]<br />
pacman -S gamin<br />
<br />
Другие легковесные приложения, которые рекомендуется использовать на слабых системах:<br />
* {{Pkg|leafpad}}: Простой и легкий текстовый редактор<br />
* {{Pkg|mousepad}}: Простой текстовый редактор (является текстовым редактором по умолчанию среды Xfce)<br />
* {{Pkg|xarchiver}}: Легкий архиватор<br />
* {{Pkg|obconf}}: Инструмент для настройки тем и стилей Openbox<br />
<br />
== Запуск окружения LXDE ==<br />
Есть несколько способов запустить LXDE.<br />
=== Display Managers ===<br />
Если Вы используете менеджеры [[SLiM_(Русский)|SLiM]], [[Display_Manager_(Русский)|GDM]], или [[KDM_(Русский)|KDM]], в настройках сессии нужно выбрать LXDE. <br />
<br />
Инструкция по использованию LXDM [https://wiki.archlinux.org/index.php/LXDE#LXDM ниже на этой странице].<br />
<br />
Если не используете менеджер дисплея приветствия добавьте<br />
<br />
export DESKTOP_SESSION=LXDE<br />
<br />
в ваш <code>~/.bash_profile</code> Для првавильного функционирования [[Xdg-open]]<br />
<br />
=== Консоль ===<br />
Для использования команды '''startx''' необходимо добавить в файл [[Beginners'_Guide#C:_Test_X|{{ic|~/.xinitrc}}]] команду запуска LXDE:<br />
<br />
exec startlxde<br />
<br />
Если Вы хотите выполнять '''startx''' автоматически при загрузке, прочитайте статью [[Start X at Boot (Русский)#Запуск X выбранным пользователем без логина | Запуск X при загрузке]].<br />
<br />
'''Для других задач Вы должны быть уверены, что демон dbus запущен.'''<br />
<br />
== Советы и рекомендации ==<br />
=== Автомонтирвание ===<br />
[[PCManFM (Русский)#Работа с томами]]<br />
<br />
=== Автозапуск программ ===<br />
; .desktop файлы<br />
<br />
Вы можете скопировать ярлык программы {{ic|.desktop}} из {{ic|/usr/share/applications/}} в {{ic|~/.config/autostart/}}. Например, добавим lxterminal в автозапуск:<br />
$ ln -s /usr/share/applications/lxterminal.desktop ~/.config/autostart/<br />
После добавления {{ic|.desktop}} файлов Вы можете упралять ими с помощью {{AUR|lxsession-edit}}.<br />
<br />
; autostart файл<br />
Второй способ. Использование файла {{ic|~/.config/lxsession/LXDE/autostart}}. Этот файл не скрипт, но каждая строка представляет собой команду, которая будет выполнена, если строка начинается с символа @, команда после @ будет автоматически повторно выполняться, если она падает. Например, чтобы выполнить lxterminal и leafpad автоматически при запуске:<br />
{{hc|~/.config/lxsession/LXDE/autostart|<br />
@lxterminal<br />
@leafpad<br />
}}<br />
{{Note|Ппсле команды '''ненужно''' ставить символ &}}<br />
Существует также глобальный файл автозапуска {{ic|/etc/xdg/lxsession/LXDE/autostart}}. Если эти файлы присутствуют одновременно, то оба будут выполнены.<br />
<br />
=== Горячие клавиши ===<br />
Управление горячими клавишами осуществляется через Openbox и подробно описаны [http://openbox.org/wiki/Help:Bindings здесь]. Пользователи LXDE должны следовать этим инструкциям, чтобы отредактировать файл '''~/.config/openbox/lxde-rc.xml'''<br />
<br />
Дополнительный графический интерфейс для редактирования горячих клавиш - {{AUR | obkey}} доступен в AUR. Поумолчанию obkey редактирует файл rc.xml, Но вы можете использовать его в LXDE таким образом:<br />
<br />
$ obkey ~/.config/openbox/lxde-rc.xml<br />
<br />
Больше информации о obkey [http://code.google.com/p/obkey/ здесь].<br />
<br />
=== Курсоры ===<br />
Полная статья: [[X11 Cursors]].<br />
<br />
Последний {{AUR|lxappearance2-git}} в [[AUR]] предоставляет функциональные возможности для изменения тем курсора. Если Вы не хотите устанавливать экспериментальный lxappearance2, можете указать свой курсор в файле {{ic|~/.Xdefaults}}. См. [[X11_Cursors#Choosing_and_Configuring_Cursor_Themes|Configuring Cursor Themes]].<br />
<br />
Простым способом является добавление курсор к теме по умолчанию. Сначала нужно создать каталог:<br />
# mkdir /usr/share/icons/default<br />
Then you can specify to add to the icon theme the cursor. This will use the {{Pkg|xcursor-bluecurve}} pointer theme:<br />
{{hc|/usr/share/icons/default/index.theme|2=<br />
[icon theme]<br />
Inherits=Bluecurve<br />
}}<br />
<br />
=== Шрифты настройка ===<br />
Для установки шрифтов, вы можете использовать {{Pkg|lxappearance}} и установить основной шрифт. Для настройки других шрифтов можно использовать '''Openbox configuration tool''' ObConf:<br />
# pacman -S obconf<br />
<br />
=== Раскладка клавиатуры ===<br />
====udev====<br />
<br />
Когда вы используете [[udev]], конфигурация ввода по умолчанию записываются в {{ic|/etc/X11/xorg.conf.d/10-evdev.conf}} в {{ic|Section "InputClass"}}. Вы можете редактировать этот или создать новый файл {{ic|/etc/X11/xorg.conf.d/20-keyboard.conf}} по следующему примеру (переключение раскладки клавишами Alt+Shift, индикация CAPS-диодом на клавиатуре):<br />
Section "InputClass"<br />
Identifier "evdev keyboard catchall"<br />
MatchIsKeyboard "on"<br />
MatchDevicePath "/dev/input/event*"<br />
Driver "evdev"<br />
Option "XkbModel" "pc104"<br />
Option "XkbLayout" "us,ru"<br />
Option "XkbOptions" "grp:alt_shift_toggle,grp_led:caps"<br />
EndSection<br />
Вы можете найти список всех значений в {{ic|/usr/share/X11/xkb/rules/base.lst}}.<br />
<br />
====Другие способы====<br />
<br />
1 способ:<br />
Добавьте в /etc/xdg/lxsession/LXDE/autostart следующие строки перед @lxpanel --profile LXDE:<br />
@setxkbmap -option grp:switch,grp:alt_shift_toggle,grp_led:scroll us,ru<br />
или в ~/.config/lxsession/LXDE/autostart (для конкретного пользователя):<br />
setxkbmap -option grp:switch,grp:alt_shift_toggle,grp_led:scroll us,ru<br />
2 способ:<br />
Create /etc/xdg/autostart/setxkmap.desktop as following:<br />
[Desktop Entry]<br />
Version=1.0<br />
Encoding=UTF-8<br />
Name=Fix keyboard settings<br />
Exec=setxkbmap -rules xorg -layout "us,ru" -variant ",winkeys" -option "grp:ctrl_shift_toggle"<br />
Terminal=false<br />
Type=Application <br />
3 способ:<br />
Добавьте в ~/.Xkbmap, для текущего пользователя, или в /etc/X11/Xkbmap, для всей системы, строку:<br />
-option grp:ctrl_shift_toggle,grp_led:scroll us,ru<br />
4 способ:<br />
Добавьте следующую строку в /etc/X11/xinit/xinitrc или ~/.xinitrc:<br />
setxkbmap -option grp:ctrl_shift_toggle,grp_led:scroll us,ru<br />
5 способ:<br />
Установите {{AUR | fbxkb}} из [[AUR]]<br />
<br />
6 способ:<br />
[[Xorg (Русский)#Переключение раскладок средствами X.org]]<br />
<br />
====Посредством LXDE====<br />
<br />
# Правый клик на панели задач<br />
# “Добавить/убрать элементы панели”<br />
# “Добавить”<br />
# “Индикатор раскладок клавиатуры”<br />
<br />
=== LXDM ===<br />
LXDE теперь обеспечивает экспериментальную менеджер дисплея приветствия LXDM. Это реализовано с GTK+ и [http://blog.lxde.org/?p=595 supports theming].<br />
<br />
====Установка LXDM====<br />
# pacman -S lxdm<br />
<br />
Для автоматического запуска LXDM Вы можете редактировать {{ic|/etc/inittab}} или {{ic|/etc/rc.conf}}.<br />
Для получения дополнительной информации см. [[Display Manager]].<br />
<br />
====Настройка====<br />
Все конфигурационные файлы для LXDM расположены в {{ic|/etc/lxdm}}. Основной файл конфигурации {{ic|lxdm.conf}} хорошо документирован в его коментарии. Файл, {{ic|Xsession}}, является общесистемным и не должен редактироваться. Другие файлы - это bash скрипты, которые выполняются при наступлении определенных событий в LXDM.<br />
К ним относятся:<br />
# {{ic|LoginReady}}: Выполняется с правами root когда LXDM готова показать окно входа в систему.<br />
# {{ic|PreLogin}}: Выполняется с правами root перед входом пользователя.<br />
# {{ic|PostLogin}}: Выполняется с правами авторизованного пользователя сразу после входа.<br />
# {{ic|PostLogout}}: Выполняется с правами авторизованного пользователя после выхода.<br />
# {{ic|PreReboot}}: Выполняется с правами root перед перезагрузкой компьютера с LXDM.<br />
# {{ic|PreShutdown}}: Выполняется с правами root перед выключением компьютера с LXDM.<br />
<br />
=====Ожидаемое поведение после Logout=====<br />
Может быть немного удивительно, что LXDM по умолчанию не очищает фон рабочего стола и не убивает процессы пользователя после его выхода. Для решения проблемы необходимо добавить в файл {{ic|/etc/lxdm/PostLogout}}:<br />
<br />
#!/bin/sh<br />
<br />
# Kills all your processes when you log out.<br />
killall --user $USER -TERM<br />
<br />
# Set's the desktop background to solid black. Useful if you have multiple monitors.<br />
xsetroot -solid black<br />
<br />
=====Автоматический вход=====<br />
Если вы хотите войти в учетную запись без ввода пароля, найдите строку в {{ic|/etc/lxdm/lxdm.conf}}, которая выглядит следующим образом:<br />
#autologin=username<br />
Раскомментируйте его и подставьте нужное имя пользователя, вместо "username".<br />
<br />
=== [[PCManFM]] ===<br />
Если вы хотите иметь доступ к Корзине, монтированию томов и folder/file tracking Вам необходима поддержка gvfs:<br />
<br />
pacman -S polkit-gnome gvfs<br />
<br />
polkit-gnome обеспечивает аутентификацию и должен быть запущен при входе в систему:<br />
<br />
$ mkdir -p ~/.config/autostart<br />
$ cp /etc/xdg/autostart/polkit-gnome-authentication-agent-1.desktop ~/.config/autostart<br />
<br />
В Arch'е этот файл в настоящее время не работает на некоторых системах. Если у вас проблема запуском, удалите строку<br />
<br />
OnlyShowIn=GNOME;XFCE;<br />
<br />
из файла {{ic|~/.config/autostart/polkit-gnome-authentication-agent-1.desktop}}:<br />
<br />
[http://wiki.lxde.org/en/LXDE:PCManFM_build_and_setup_guide#Setup_Runtime_Environment_Correctly PCManFM @ LXDE wiki]<br />
<br />
=== Замена оконного менеджера === <br />
[[Openbox]], стандартный менеджер окон LXDE, может быть заменен другими. Например fvwm, icewm, dwm, metacity, compiz ...etc.<br />
<br />
LXDE будет пытаться использовать оконный менеджер из пользовательского фаула конфигурации lxsession {{ic|~/.config/lxsession/LXDE/desktop.conf}}.Если его не существует, будет пытаться использовать глобальный файл конфигурации {{ic|/etc/xdg/lxsession/LXDE/desktop.conf}}.<br />
<br />
Замените команду openbox-lxde на ваш менеджер окон:<br />
[Session]<br />
window_manager=openbox-lxde<br />
Для metacity:<br />
window_manager=metacity<br />
Для compiz:<br />
window_manager=compiz ccp --indirect-rendering<br />
<br />
=== Выключение, Перезагрузка (LXSession-logout) ===<br />
Для работы Выключения, Перезагрузки, Режима сна и Режима ожидания Должен быть запущен dbus. Должен быть установлен пакет upower.<br />
<br />
# pacman -S upower<br />
<br />
См. [[xinitrc#Preserving the session]] подробнее о logind/ConsoleKit.<br />
<br />
=== Редактирование меню приложений ===<br />
{{translateme}}<br />
<source><br />
The application menu works by resolving the {{ic|.desktop}} files located in {{ic|/usr/share/applications}}. Many desktop environments run programs that supersede these settings to allow customization of the menu. LXDE has yet to create an application menu editor but you can manually build them yourself if you are so inclined. Third party menu editor can be found in [[AUR]] - {{aur|lxmed}}<br />
<br />
To add or edit a menu item, create or link to the {{ic|.desktop}} file in {{ic|/usr/share/applications}}. Consult [http://standards.freedesktop.org/desktop-entry-spec/latest/ the desktop entry specification] on freedesktop.org for structures of {{ic|.desktop}} files.<br />
<br />
To remove items from the menu, instead of deleting the {{ic|.desktop}} files, you can edit the file and add the following line in the file:<br />
NoDisplay=true.<br />
To expedite the process for a good number of files you can put it in a loop. For example:<br />
cd /usr/share/applications<br />
for i in program1.desktop program2.desktop ...; do cp /usr/share/applications/$i \<br />
/home/user/.local/share/applications/; echo "NoDisplay=true" >> \<br />
/home/user/.local/share/applications/$i; done<br />
This will work for all applications except KDE applications. For these, the only way to remove them from the menu is to log into KDE itself and use it's menu editor. For every item that you do not want displayed, check the 'Show only in KDE' option. If adding NoDisplay=True won't work, you can add ShowOnlyIn=XFCE.<br />
</source></div>
Zyamilon
https://wiki.archlinux.org/index.php?title=LXDE_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)&diff=240150
LXDE (Русский)
2012-12-13T14:10:20Z
<p>Zyamilon: /* Советы и рекомендации */</p>
<hr />
<div>[[Category:Русский]]<br />
[[cs:LXDE]]<br />
[[en:LXDE]]<br />
[[es:LXDE]]<br />
[[fr:LXDE]]<br />
[[it:LXDE]]<br />
[[pl:LXDE]]<br />
[[sr:LXDE]]<br />
[[tr:LXDE_Masaüstü_Ortamı]]<br />
[[uk:LXDE]]<br />
[[zh-CN:LXDE]]<br />
[[zh-TW:LXDE]]<br />
[[Category:Desktop environments (Русский)]]<br />
<br />
{{Article summary start}}<br />
{{Article summary text|[http://wiki.lxde.org/ru LXDE], (от англ. Lightweight X11 Desktop Environment) — это свободная среда рабочего стола для UNIX и других POSIX-совместимых систем, таких как GNU/Linux. Проект LXDE направлен на создание новой быстрой и легковесной среды рабочего стола. LXDE создана не мощной и перегруженной функциями, а простой в использовании, достаточно легкой и не требовательной к ресурсам системы.}}<br />
{{Article summary text|Создатели не стремились тесно интегрировать различные компоненты, наоборот, каждый из них может использоваться отдельно с несколькими зависимостями.}}<br />
{{Article summary text|LXDE использует Openbox как оконный менеджер по умолчанию и стремится предложить быстрый и легкий рабочий стол, основанный на взаимно независимых компонентах.}}<br />
{{Article summary end}}<br />
<br />
[http://lxde.org/ LXDE.org | Lightweight X11 Desktop Environment]: ''"Одно из главных достоинств LXDE - небольшие требования к железу. Философия LXDE - это лёгкость, полезность и практичность."''<br />
<br />
== Установка ==<br />
<br />
LXDE модульный и вы можете выбирать только те пакеты, которые вам нужны.<br />
<br />
Минимально необходимые пакеты для запуска LXDE: {{Pkg|lxde-common}}, {{Pkg|lxsession}}, {{Pkg|desktop-file-utils}} и оконный менеджер.<br />
<br />
Вы можете установить группу пакетов LXDE:<br />
<br />
# pacman -S lxde<br />
<br />
Установятся следующие пакеты:<br />
<br />
* {{Pkg|gpicview}}: Простой и легкий просмоторщик изображений<br />
* {{Pkg|libfm}}: Библиотека для работы с файлами<br />
* {{Pkg|lxappearance}}: Редактор тем для изменения GTK+ тем, иконок и шрифтов для приложений GTK<br />
* {{Pkg|lxappearance-obconf}}: Плагин для настройки Openbox через LXAppearance<br />
* {{Pkg|lxde-common}}: Установки по умолчанию конфигурационных файлов для большинства интегрированных компонентов LXDE<br />
* {{Pkg|lxde-icon-theme}}: Тема значков LXDE<br />
* {{Pkg|lxdm}}: Легковесный менеджер дисплея приветствия<br />
* {{Pkg|lxinput}}: Конфигурационная утилита для вашей клавиатуры и мышки в LXDE <br />
* {{Pkg|lxlauncher}}: Панель запуска приложений для нетбуков<br />
* {{Pkg|lxmenu-data}}: Коллекция файлов адаптирующая меню LXDE под стандарты спецификации freedesktop.org<br />
* {{Pkg|lxmusic}}: Минималистичный проигрыватель музыки базирующийся на xmms2 <br />
* {{Pkg|lxpanel}}: Панель задач с менеджером приложений, меню программ и апплетов<br />
* {{Pkg|lxrandr}}: Менеджер экрана для LXDE<br />
* {{Pkg|lxsession}}: Совместимый X11 менеджер сессий с поддержкой выключения, перезагрузки и ждущего режима<br />
* {{Pkg|lxshortcut}}: Простое средство редактирования ярлычков<br />
* {{Pkg|lxtask}}: Диспетчер задач и системный монитор LXDE<br />
* {{Pkg|lxterminal}}: Стандартный эмулятор терминала для LXDE<br />
* {{Pkg|menu-cache}}: A daemon which automatically generates the menu for LXDE<br />
* {{Pkg|openbox}}: Aлегкий и удобно-конфигурируемый менеджер окон (рекомендуемый менеджер, разработанный вне проекта LXDE).<br />
* {{Pkg|pcmanfm}}: Файловый менеджер, функционал рабочего стола и обоев<br />
<br />
Вам также следует установить [[gamin|Gamin]]. [[gamin|Gamin]] - это инструмент для отслеживания изменений в файлах и директориях, который является реализацией подсистемы FAM. Запуск производится по требованию программ, которые им поддерживаются, поэтому не требуется отдельно демона, подобного [[FAM_(Русский)|FAM]]. Если у Вас установлен [[FAM_(Русский)|FAM]] - удалите запуск этого демона из {{ic|/etc/rc.conf}} и остановите его перед установкой [[gamin|Gamin]]<br />
pacman -S gamin<br />
<br />
Другие легковесные приложения, которые рекомендуется использовать на слабых системах:<br />
* {{Pkg|leafpad}}: Простой и легкий текстовый редактор<br />
* {{Pkg|mousepad}}: Простой текстовый редактор (является текстовым редактором по умолчанию среды Xfce)<br />
* {{Pkg|xarchiver}}: Легкий архиватор<br />
* {{Pkg|obconf}}: Инструмент для настройки тем и стилей Openbox<br />
<br />
== Запуск окружения LXDE ==<br />
Есть несколько способов запустить LXDE.<br />
=== Display Managers ===<br />
Если Вы используете менеджеры [[SLiM_(Русский)|SLiM]], [[Display_Manager_(Русский)|GDM]], или [[KDM_(Русский)|KDM]], в настройках сессии нужно выбрать LXDE. <br />
<br />
Инструкция по использованию LXDM [https://wiki.archlinux.org/index.php/LXDE#LXDM ниже на этой странице].<br />
<br />
Если не используете менеджер дисплея приветствия добавьте<br />
<br />
export DESKTOP_SESSION=LXDE<br />
<br />
в ваш <code>~/.bash_profile</code> Для првавильного функционирования [[Xdg-open]]<br />
<br />
=== Консоль ===<br />
Для использования команды '''startx''' необходимо добавить в файл [[Beginners'_Guide#C:_Test_X|{{ic|~/.xinitrc}}]] команду запуска LXDE:<br />
<br />
exec startlxde<br />
<br />
Если Вы хотите выполнять '''startx''' автоматически при загрузке, прочитайте статью [[Start X at Boot (Русский)#Запуск X выбранным пользователем без логина | Запуск X при загрузке]].<br />
<br />
'''Для других задач Вы должны быть уверены, что демон dbus запущен.'''<br />
<br />
== Советы и рекомендации ==<br />
=== Автомонтирвание ===<br />
[[PCManFM (Русский)#Работа с томами]]<br />
<br />
=== Автозапуск программ ===<br />
; .desktop файлы<br />
<br />
Вы можете скопировать ярлык программы {{ic|.desktop}} из {{ic|/usr/share/applications/}} в {{ic|~/.config/autostart/}}. Например, добавим lxterminal в автозапуск:<br />
$ ln -s /usr/share/applications/lxterminal.desktop ~/.config/autostart/<br />
После добавления {{ic|.desktop}} файлов Вы можете упралять ими с помощью {{AUR|lxsession-edit}}.<br />
<br />
; autostart файл<br />
Второй способ. Использование файла {{ic|~/.config/lxsession/LXDE/autostart}}. Этот файл не скрипт, но каждая строка представляет собой команду, которая будет выполнена, если строка начинается с символа @, команда после @ будет автоматически повторно выполняться, если она падает. Например, чтобы выполнить lxterminal и leafpad автоматически при запуске:<br />
{{hc|~/.config/lxsession/LXDE/autostart|<br />
@lxterminal<br />
@leafpad<br />
}}<br />
{{Note|Ппсле команды '''ненужно''' ставить символ &}}<br />
Существует также глобальный файл автозапуска {{ic|/etc/xdg/lxsession/LXDE/autostart}}. Если эти файлы присутствуют одновременно, то оба будут выполнены.<br />
<br />
=== Горячие клавиши ===<br />
Управление горячими клавишами осуществляется через Openbox и подробно описаны [http://openbox.org/wiki/Help:Bindings здесь]. Пользователи LXDE должны следовать этим инструкциям, чтобы отредактировать файл '''~/.config/openbox/lxde-rc.xml'''<br />
<br />
Дополнительный графический интерфейс для редактирования горячих клавиш - {{AUR | obkey}} доступен в AUR. Поумолчанию obkey редактирует файл rc.xml, Но вы можете использовать его в LXDE таким образом:<br />
<br />
$ obkey ~/.config/openbox/lxde-rc.xml<br />
<br />
Больше информации о obkey [http://code.google.com/p/obkey/ здесь].<br />
<br />
=== Курсоры ===<br />
Полная статья: [[X11 Cursors]].<br />
<br />
Последний {{AUR|lxappearance2-git}} в [[AUR]] предоставляет функциональные возможности для изменения тем курсора. Если Вы не хотите устанавливать экспериментальный lxappearance2, можете указать свой курсор в файле {{ic|~/.Xdefaults}}. См. [[X11_Cursors#Choosing_and_Configuring_Cursor_Themes|Configuring Cursor Themes]].<br />
<br />
Простым способом является добавление курсор к теме по умолчанию. Сначала нужно создать каталог:<br />
# mkdir /usr/share/icons/default<br />
Then you can specify to add to the icon theme the cursor. This will use the {{Pkg|xcursor-bluecurve}} pointer theme:<br />
{{hc|/usr/share/icons/default/index.theme|2=<br />
[icon theme]<br />
Inherits=Bluecurve<br />
}}<br />
<br />
=== Шрифты настройка ===<br />
Для установки шрифтов, вы можете использовать {{Pkg|lxappearance}} и установить основной шрифт. Для настройки других шрифтов можно использовать '''Openbox configuration tool''' ObConf:<br />
# pacman -S obconf<br />
<br />
=== Раскладка клавиатуры ===<br />
====udev====<br />
<br />
Когда вы используете [[udev]], конфигурация ввода по умолчанию записываются в {{ic|/etc/X11/xorg.conf.d/10-evdev.conf}} в {{ic|Section "InputClass"}}. Вы можете редактировать этот или создать новый файл {{ic|/etc/X11/xorg.conf.d/20-keyboard.conf}} по следующему примеру (переключение раскладки клавишами Alt+Shift, индикация CAPS-диодом на клавиатуре):<br />
Section "InputClass"<br />
Identifier "evdev keyboard catchall"<br />
MatchIsKeyboard "on"<br />
MatchDevicePath "/dev/input/event*"<br />
Driver "evdev"<br />
Option "XkbModel" "pc104"<br />
Option "XkbLayout" "us,ru"<br />
Option "XkbOptions" "grp:alt_shift_toggle,grp_led:caps"<br />
EndSection<br />
Вы можете найти список всех значений в {{ic|/usr/share/X11/xkb/rules/base.lst}}.<br />
<br />
====Другие способы====<br />
<br />
1 способ:<br />
Добавьте в /etc/xdg/lxsession/LXDE/autostart следующие строки перед @lxpanel --profile LXDE:<br />
@setxkbmap -option grp:switch,grp:alt_shift_toggle,grp_led:scroll us,ru<br />
или в ~/.config/lxsession/LXDE/autostart (для конкретного пользователя):<br />
setxkbmap -option grp:switch,grp:alt_shift_toggle,grp_led:scroll us,ru<br />
2 способ:<br />
Create /etc/xdg/autostart/setxkmap.desktop as following:<br />
[Desktop Entry]<br />
Version=1.0<br />
Encoding=UTF-8<br />
Name=Fix keyboard settings<br />
Exec=setxkbmap -rules xorg -layout "us,ru" -variant ",winkeys" -option "grp:ctrl_shift_toggle"<br />
Terminal=false<br />
Type=Application <br />
3 способ:<br />
Добавьте в ~/.Xkbmap, для текущего пользователя, или в /etc/X11/Xkbmap, для всей системы, строку:<br />
-option grp:ctrl_shift_toggle,grp_led:scroll us,ru<br />
4 способ:<br />
Добавьте следующую строку в /etc/X11/xinit/xinitrc или ~/.xinitrc:<br />
setxkbmap -option grp:ctrl_shift_toggle,grp_led:scroll us,ru<br />
5 способ:<br />
Установите {{AUR | fbxkb}} из [[AUR]]<br />
<br />
6 способ:<br />
[[Xorg (Русский)#Переключение раскладок средствами X.org]]<br />
<br />
====Посредством LXDE====<br />
<br />
# Правый клик на панели задач<br />
# “Добавить/убрать элементы панели”<br />
# “Добавить”<br />
# “Индикатор раскладок клавиатуры”<br />
<br />
=== LXDM ===<br />
LXDE теперь обеспечивает экспериментальную менеджер дисплея приветствия LXDM. Это реализовано с GTK+ и [http://blog.lxde.org/?p=595 supports theming].<br />
<br />
====Установка LXDM====<br />
# pacman -S lxdm<br />
<br />
Для автоматического запуска LXDM Вы можете редактировать {{ic|/etc/inittab}} или {{ic|/etc/rc.conf}}.<br />
Для получения дополнительной информации см. [[Display Manager]].<br />
<br />
====Настройка====<br />
Все конфигурационные файлы для LXDM расположены в {{ic|/etc/lxdm}}. Основной файл конфигурации {{ic|lxdm.conf}} хорошо документирован в его коментарии. Файл, {{ic|Xsession}}, является общесистемным и не должен редактироваться. Другие файлы - это bash скрипты, которые выполняются при наступлении определенных событий в LXDM.<br />
К ним относятся:<br />
# {{ic|LoginReady}}: Выполняется с правами root когда LXDM готова показать окно входа в систему.<br />
# {{ic|PreLogin}}: Выполняется с правами root перед входом пользователя.<br />
# {{ic|PostLogin}}: Выполняется с правами авторизованного пользователя сразу после входа.<br />
# {{ic|PostLogout}}: Выполняется с правами авторизованного пользователя после выхода.<br />
# {{ic|PreReboot}}: Выполняется с правами root перед перезагрузкой компьютера с LXDM.<br />
# {{ic|PreShutdown}}: Выполняется с правами root перед выключением компьютера с LXDM.<br />
<br />
=====Ожидаемое поведение после Logout=====<br />
Может быть немного удивительно, что LXDM по умолчанию не очищает фон рабочего стола и не убивает процессы пользователя после его выхода. Для решения проблемы необходимо добавить в файл {{ic|/etc/lxdm/PostLogout}}:<br />
<br />
#!/bin/sh<br />
<br />
# Kills all your processes when you log out.<br />
killall --user $USER -TERM<br />
<br />
# Set's the desktop background to solid black. Useful if you have multiple monitors.<br />
xsetroot -solid black<br />
<br />
=====Автоматический вход=====<br />
Если вы хотите войти в учетную запись без ввода пароля, найдите строку в {{ic|/etc/lxdm/lxdm.conf}}, которая выглядит следующим образом:<br />
#autologin=username<br />
Раскомментируйте его и подставьте нужное имя пользователя, вместо "username".<br />
<br />
=== [[PCManFM]] ===<br />
Если вы хотите иметь доступ к Корзине, монтированию томов и folder/file tracking Вам необходима поддержка gvfs:<br />
<br />
pacman -S polkit-gnome gvfs<br />
<br />
polkit-gnome обеспечивает аутентификацию и должен быть запущен при входе в систему:<br />
<br />
$ mkdir -p ~/.config/autostart<br />
$ cp /etc/xdg/autostart/polkit-gnome-authentication-agent-1.desktop ~/.config/autostart<br />
<br />
В Arch'е этот файл в настоящее время не работает на некоторых системах. Если у вас проблема запуском, удалите строку<br />
<br />
OnlyShowIn=GNOME;XFCE;<br />
<br />
из файла {{ic|~/.config/autostart/polkit-gnome-authentication-agent-1.desktop}}:<br />
<br />
[http://wiki.lxde.org/en/LXDE:PCManFM_build_and_setup_guide#Setup_Runtime_Environment_Correctly PCManFM @ LXDE wiki]<br />
<br />
=== Замена оконного менеджера === <br />
[[Openbox]], стандартный менеджер окон LXDE, может быть заменен другими. Например fvwm, icewm, dwm, metacity, compiz ...etc.<br />
<br />
LXDE будет пытаться использовать оконный менеджер из пользовательского фаула конфигурации lxsession {{ic|~/.config/lxsession/LXDE/desktop.conf}}.Если его не существует, будет пытаться использовать глобальный файл конфигурации {{ic|/etc/xdg/lxsession/LXDE/desktop.conf}}.<br />
<br />
Замените команду openbox-lxde на ваш менеджер окон:<br />
[Session]<br />
window_manager=openbox-lxde<br />
Для metacity:<br />
window_manager=metacity<br />
Для compiz:<br />
window_manager=compiz ccp --indirect-rendering<br />
<br />
=== Выключение, Перезагрузка (LXSession-logout) ===<br />
Для работы Выключения, Перезагрузки, Режима сна и Режима ожидания Должен быть запущен dbus. Должен быть установлен пакет upower.<br />
<br />
# pacman -S upower<br />
<br />
См. [[xinitrc#Preserving the session]] подробнее о logind/ConsoleKit.<br />
<br />
=== Редактирование меню приложений ===<br />
.</div>
Zyamilon
https://wiki.archlinux.org/index.php?title=Xcompmgr_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)&diff=231234
Xcompmgr (Русский)
2012-10-24T17:25:29Z
<p>Zyamilon: /* Падает Mozilla Firefox при работающем флеше */ микроправка, дубль2!</p>
<hr />
<div>[[Category:X Server (Русский)]]<br />
[[Category:Eye candy (Русский)]]<br />
[[en:Xcompmgr]]<br />
[[es:Xcompmgr]]<br />
[[zh-CN:Xcompmgr]]<br />
= Введение =<br />
Xcompmgr - это простой композитный менеджер окон, умеющий прорисовывать тени и создавать примитивную прозрачность с помощью <tt>transset</tt>. Разработан как доказательство возможности существования легковесных альтернатив Compiz Fusion.<br />
<br />
Так как xcompmgr не заменяет оконный менеджер, он является идеальным для [[Openbox]] и [[Fluxbox]].<br />
<br />
= Зависимости =<br />
Xcompmgr требует:<br />
* Установленный и запущенный [[Xorg]].<br />
* Драйвера для композита, [[AIGLX]] или [[Xgl]].<br />
<br />
= Установка =<br />
<tt>Xcompmgr</tt> и <tt>transset</tt>, доступны в стандартных репозиториях:<br />
# pacman -S xcompmgr transset-df<br />
<br />
= Настройка =<br />
Для запуска xcompmgr, выполните:<br />
$ xcompmgr -c<br />
<br />
Для автозагрузки с Иксами, добавьте его в <code>~/.xinitrc</code>:<br />
xcompmgr -c &<br />
<br />
Вместо <code>-c</code> Вы можете экспериментировать с другими настройками. Пример:<br />
xcompmgr -c -t-5 -l-5 -r4.2 -o.55 &<br />
<br />
Для получения полного списка опций, выполните:<br />
$ xcompmgr --help<br />
<br />
== Прозрачность окон ==<br />
<br />
Хотя практическое применение ограничено из-за его низкой производительности, <tt>transset</tt> может быть использована для установки прозрачности отдельных окон.<br />
<br />
Для запуска прозрачности окна программы, убедитесь, что она запущена, далее выполните:<br />
transset ''n''<br />
.. где ''n'' это число от 0 до 1, где 0 - абсолютная прозрачность, а 1 - непрозрачный.<br />
<br />
Курсор превратиться в крест. наведите его на желаемую программу. Например, <code>transset .25</code> установит прозрачность до 75%.<br />
<br />
= Возможные неисправности =<br />
<br />
<br />
== окна в Fluxbox не разворачиваются ==<br />
Это зафиксировано в CVS после Fluxbox 0.9.10. Смотреть [http://freedesktop.org/bugzilla/show_bug.cgi?id=1264] для дополнительной информации.<br> Решением в 0.9.10 является создание слоя "Desktop" (flux menu -> Configure -> Slit -> Layer -> Desktop).<br />
<br />
== Падает Mozilla Firefox при работающем флеше ==<br />
Вы можете исправить это, создав в /etc/profile.d файл ''flash.sh'':<br />
export XLIB_SKIP_ARGB_VISUALS=1<br />
Или добавить это в 184 строку /opt/mozilla/bin/firefox.<br />
<br />
== Картинка оказывается светло-серой после входа в систему (например в Openbox) ==<br />
Эта ошибка исправляется путем установки hsetroot (есть в AUR) и настройкой цвета фона, выполнив ''hsetroot -solid "#000000"'' (введите html код нужного цвета, вместо 000000) до xcompmgr.<br />
<br />
= Советы =<br />
<br />
== Запуск/остановка xcompmgr по требованию ==<br />
<br />
Этот скрипт (например в ~/bin) позволяет легко остановить/перезапустить композитный менеджер.<br />
#!/bin/bash<br />
#<br />
# Start a composition manager.<br />
# (xcompmgr in this case)<br />
<br />
function comphelp () {<br />
echo "Composition Manager:"<br />
echo " (re)start: COMP"<br />
echo " stop: COMP -s"<br />
echo " query: COMP -q"<br />
echo " returns 1 if composition manager is running, else 0"<br />
exit<br />
}<br />
<br />
function checkcomp () {<br />
( ps nc -C xcompmgr &>/dev/null ) && exit 1<br />
exit 0<br />
}<br />
<br />
function stopcomp () {<br />
( ps nc -C xcompmgr &>/dev/null ) && killall xcompmgr<br />
}<br />
<br />
function startcomp () {<br />
stopcomp<br />
# Example settings only. Replace with your own.<br />
xcompmgr -CcfF -I-.015 -O-.03 -D6 -t-1 -l-3 -r4.2 -o.5 &<br />
exit<br />
}<br />
<br />
case "$1x" in<br />
"x") startcomp;;<br />
"-qx") checkcomp;;<br />
"-sx") stopcomp; exit;;<br />
*) comphelp;;<br />
esac<br />
<br />
Я сделал COMP и COMP -s горячими клавишами в IceWM, поскольку в нём есть проблемы с использованием xcompmgr в. Это позволяет перезапуск или временную остановку xcompmgr, в случае необходимости, не прерывая работу.<br />
<br />
= Дополнительные средства =<br />
*[[AIGLX]]<br />
*[[Xgl]]<br />
*[[Composite]] -- расширения Xorg, требующееся для запуска композитных менеджеров<br />
*[[Compiz Fusion]]<br />
*[[Compiz]]<br />
*[[Xcompmgr]]<br />
*[[Cairo Compmgr | Cairo Composite Manager]] -- Универсальный и расширяемый композитный менеджер, используемый cairo для рендеринга<br />
*Wikipedia(en): [http://en.wikipedia.org/wiki/Compositing_window_manager Compositing Window Managers]</div>
Zyamilon
https://wiki.archlinux.org/index.php?title=Xcompmgr_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)&diff=231231
Xcompmgr (Русский)
2012-10-24T17:24:31Z
<p>Zyamilon: /* Падает Mozilla Firefox при работающем флеше */ микроправка, очепятка</p>
<hr />
<div>[[Category:X Server (Русский)]]<br />
[[Category:Eye candy (Русский)]]<br />
[[en:Xcompmgr]]<br />
[[es:Xcompmgr]]<br />
[[zh-CN:Xcompmgr]]<br />
= Введение =<br />
Xcompmgr - это простой композитный менеджер окон, умеющий прорисовывать тени и создавать примитивную прозрачность с помощью <tt>transset</tt>. Разработан как доказательство возможности существования легковесных альтернатив Compiz Fusion.<br />
<br />
Так как xcompmgr не заменяет оконный менеджер, он является идеальным для [[Openbox]] и [[Fluxbox]].<br />
<br />
= Зависимости =<br />
Xcompmgr требует:<br />
* Установленный и запущенный [[Xorg]].<br />
* Драйвера для композита, [[AIGLX]] или [[Xgl]].<br />
<br />
= Установка =<br />
<tt>Xcompmgr</tt> и <tt>transset</tt>, доступны в стандартных репозиториях:<br />
# pacman -S xcompmgr transset-df<br />
<br />
= Настройка =<br />
Для запуска xcompmgr, выполните:<br />
$ xcompmgr -c<br />
<br />
Для автозагрузки с Иксами, добавьте его в <code>~/.xinitrc</code>:<br />
xcompmgr -c &<br />
<br />
Вместо <code>-c</code> Вы можете экспериментировать с другими настройками. Пример:<br />
xcompmgr -c -t-5 -l-5 -r4.2 -o.55 &<br />
<br />
Для получения полного списка опций, выполните:<br />
$ xcompmgr --help<br />
<br />
== Прозрачность окон ==<br />
<br />
Хотя практическое применение ограничено из-за его низкой производительности, <tt>transset</tt> может быть использована для установки прозрачности отдельных окон.<br />
<br />
Для запуска прозрачности окна программы, убедитесь, что она запущена, далее выполните:<br />
transset ''n''<br />
.. где ''n'' это число от 0 до 1, где 0 - абсолютная прозрачность, а 1 - непрозрачный.<br />
<br />
Курсор превратиться в крест. наведите его на желаемую программу. Например, <code>transset .25</code> установит прозрачность до 75%.<br />
<br />
= Возможные неисправности =<br />
<br />
<br />
== окна в Fluxbox не разворачиваются ==<br />
Это зафиксировано в CVS после Fluxbox 0.9.10. Смотреть [http://freedesktop.org/bugzilla/show_bug.cgi?id=1264] для дополнительной информации.<br> Решением в 0.9.10 является создание слоя "Desktop" (flux menu -> Configure -> Slit -> Layer -> Desktop).<br />
<br />
== Падает Mozilla Firefox при работающем флеше ==<br />
Вы можете исправитm это, создав в /etc/profile.d файл ''flash.sh'':<br />
export XLIB_SKIP_ARGB_VISUALS=1<br />
Или добавить это в 184 строку /opt/mozilla/bin/firefox.<br />
<br />
== Картинка оказывается светло-серой после входа в систему (например в Openbox) ==<br />
Эта ошибка исправляется путем установки hsetroot (есть в AUR) и настройкой цвета фона, выполнив ''hsetroot -solid "#000000"'' (введите html код нужного цвета, вместо 000000) до xcompmgr.<br />
<br />
= Советы =<br />
<br />
== Запуск/остановка xcompmgr по требованию ==<br />
<br />
Этот скрипт (например в ~/bin) позволяет легко остановить/перезапустить композитный менеджер.<br />
#!/bin/bash<br />
#<br />
# Start a composition manager.<br />
# (xcompmgr in this case)<br />
<br />
function comphelp () {<br />
echo "Composition Manager:"<br />
echo " (re)start: COMP"<br />
echo " stop: COMP -s"<br />
echo " query: COMP -q"<br />
echo " returns 1 if composition manager is running, else 0"<br />
exit<br />
}<br />
<br />
function checkcomp () {<br />
( ps nc -C xcompmgr &>/dev/null ) && exit 1<br />
exit 0<br />
}<br />
<br />
function stopcomp () {<br />
( ps nc -C xcompmgr &>/dev/null ) && killall xcompmgr<br />
}<br />
<br />
function startcomp () {<br />
stopcomp<br />
# Example settings only. Replace with your own.<br />
xcompmgr -CcfF -I-.015 -O-.03 -D6 -t-1 -l-3 -r4.2 -o.5 &<br />
exit<br />
}<br />
<br />
case "$1x" in<br />
"x") startcomp;;<br />
"-qx") checkcomp;;<br />
"-sx") stopcomp; exit;;<br />
*) comphelp;;<br />
esac<br />
<br />
Я сделал COMP и COMP -s горячими клавишами в IceWM, поскольку в нём есть проблемы с использованием xcompmgr в. Это позволяет перезапуск или временную остановку xcompmgr, в случае необходимости, не прерывая работу.<br />
<br />
= Дополнительные средства =<br />
*[[AIGLX]]<br />
*[[Xgl]]<br />
*[[Composite]] -- расширения Xorg, требующееся для запуска композитных менеджеров<br />
*[[Compiz Fusion]]<br />
*[[Compiz]]<br />
*[[Xcompmgr]]<br />
*[[Cairo Compmgr | Cairo Composite Manager]] -- Универсальный и расширяемый композитный менеджер, используемый cairo для рендеринга<br />
*Wikipedia(en): [http://en.wikipedia.org/wiki/Compositing_window_manager Compositing Window Managers]</div>
Zyamilon
https://wiki.archlinux.org/index.php?title=Localization_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)&diff=193144
Localization (Русский)
2012-04-07T14:17:42Z
<p>Zyamilon: /* Настройка консоли */</p>
<hr />
<div>[[Category:Русский]]<br />
{{i18n|Internationalization}}<br />
<br />
= Об этой статье =<br />
Эта статья рассказывает о том, как настроить отображение и ввод русского языка в Arch Linux.<br />
<br />
= Настройка локали =<br />
<br />
В файле /etc/locale.gen раскомментируйте следующую строку:<br />
<br />
<pre><br />
ru_RU.UTF-8 UTF-8<br />
</pre><br />
<br />
<br />
Создайте выбранную вами локаль командой:<br />
<pre><br />
/usr/sbin/locale-gen<br />
</pre><br />
<br />
<br />
Проверьте, что все заявленные локали были созданы:<br />
<pre><br />
locale -a<br />
</pre><br />
<br />
= Настройка консоли = <br />
Несколько слов о том как работает консоль. <br />
<br />
Любой вывод программы перенаправляется консольному драйверу в ядре. Ядро работает только в кодировке unicode. Если программа не использует utf-8 для вывода текста, необходима таблица ACM (Application Character Map), которая будет выполнять соответствующее преобразование из 8-битной кодироки в unicode. Если используется пакет kbd (в arch он устанавливается по умолчанию), то эту таблицу можно найти по адресу /usr/share/kbd/consoletrans. <br />
<br />
Далее ядро должно отобразить символ на экране. Таблица соответствия знаков шрифта кодам unicode называется SFM (Screen Font Map). Она либо находится внутри шрифта (в большинстве случаев) либо подгружается дополнительно (из /usr/share/kbd/unimaps). Сами шрифты располагаются в /usr/share/kbd/consolefonts. <br />
<br />
Кроме этого, нужна ещё клавиатурная раскладка - таблица по переводу скан-кодов клавиатуры в нужный код символа (соответственно может быть либо старая 8 битная либо новая unicode).<br />
<br />
Таким образом, работа по настройке консоли разбивается на пункты (рассмотрен utf вариант)<br />
<br />
1. Найти нормальную клавиатурную раскладку, поддерживающую unicode и ваши любимые способы переключения языков и указать её как KEYMAP="..." в файле rc.conf.<br />
<br />
2. Установить экранный шрифт, имеющий встроенную таблицу SFM и приличное начертание: CONSOLEFONT="...".<br />
<br />
3. Убедиться что необходимость в ACM пропадает (CONSOLEMAP="" - остаётся пустым).<br />
<br />
Вся остальная работа по настройке kbd (типа использования утилит loadkeys и setfont) уже сделана известными людьми, написавшими стартовые файлы системы.<br />
<br />
Пакет kbd поддерживает русские раскладки в utf8. Дополнительные раскладки клавиатуры можно получить установив пакет kbd-ru-keymaps командой<br />
<br />
<pre>pacman -S kbd-ru-keymaps</pre><br />
<br />
или cкачав одну из раскладкок вручную:<br />
<br />
*[http://mlclm.narod.ru/ru-utf.map.gz Русская UTF-8 раскладка клавиатуры с переключением по правой клавише Alt]<br />
*[http://moose.ylsoftware.com/gentoo.ru/ru-mab.map.gz Русская UTF-8 раскладка клавиатуры с переключением по Ctrl-Shift]<br />
<br />
и поместив их в каталог '''/usr/share/kbd/keymaps/i386/qwerty'''<br />
<br />
<br />
Установите шрифт Terminus из репозитория '''community''':<br />
<pre> pacman -S terminus-font</pre><br />
<br />
<br />
Отредактируйте файл /etc/rc.conf :<br />
<br />
<pre>LOCALE="ru_RU.UTF-8"<br />
KEYMAP="ru" # Или ru-mab для раскладки с переключением по Ctrl-Shift<br />
CONSOLEFONT="ter-v16v" # Можно поэкспериментировать с другими шрифтами ter-v* из /usr/share/kbd/consolefonts<br />
CONSOLEMAP=""<br />
</pre><br />
<br />
Обратите внимание, что поиск шрифта происходит в /usr/share/kbd/consolefont. При этом после установки многих шрифтов, например, terminus, файлы шрифтов хоть и попадают туда автоматически, но имеют неподдерживаемое расширение psf.gz. Чтобы определенный в переменной CONSOLEFONT шрифт был найден, необходимо переименовать файл шрифта, чтобы его расширение было psfu.gz. Например:<br />
<pre> cp /usr/share/kbd/consolefonts/ter-v16v.psf.gz /usr/share/kbd/consolefonts/ter-v16v.psfu.gz</pre><br />
<br />
Можно обойтись и без terminus, установив:<br />
CONSOLEFONT="cyr-sun16"<br />
<br />
{{Note|Обратите внимание, что значение ''<nowiki>LOCALE=</nowiki>'' может быть как ''"ru_RU.UTF-8"'', так и ''"ru_RU.utf-8"'' или ''"ru_RU.utf8"''. Но, с целью уменьшения путаницы, все же лучше использовать вариант ''<nowiki>LOCALE=</nowiki>"ru_RU.UTF-8"''.}}<br />
<br />
Можно обойтись без установки пакета kbd-ru-keymaps, вариант с переключение Ctrl+Shift:<br />
<pre>LOCALE="ru_RU.UTF-8"<br />
HARDWARECLOCK="UTC"<br />
TIMEZONE="Europe/Moscow"<br />
KEYMAP="ru"<br />
CONSOLEFONT="ruscii_8x16"<br />
CONSOLEMAP=""<br />
USECOLOR="yes"</pre><br />
{{Note|Текущая версия initscripts не требует наличия в rc.conf переменной ''LOCALE''. Тем не менее необходимо внести в файл /etc/locale.conf следующие строки:}}<br />
<pre>LANG=ru_RU.UTF-8<br />
LC_MESSAGES=ru_RU.UTF-8</pre><br />
<br />
= Настройка X.org =<br />
Установите шрифты ttf-dejavu и ttf-liberation из репозитория '''community''':<br />
<pre>pacman -S ttf-dejavu ttf-liberation</pre><br />
== Настройки клавиатуры ==<br />
<br />
(Начиная с версии Xorg 1.8 [[HAL]] не используется для настройки)<br />
Создайте файл /etc/hal/fdi/policy/10-keymap.fdi такого содержания:<br />
<br />
<pre><br />
<?xml version="1.0" encoding="utf-8"?><br />
<deviceinfo version="0.2"><br />
<device><br />
<match key="info.capabilities" contains="input.keypad"><br />
<merge key="input.xkb.rules" type="string">base</merge><br />
<merge key="input.xkb.model" type="string">pc105</merge><br />
<merge key="input.x11_driver" type="string">evdev</merge><br />
<merge key="input.xkb.layout" type="string">us,ru</merge><br />
<merge key="input.xkb.variant" type="string">,winkeys</merge><br />
<merge key="input.xkb.options" type="string">grp:rctrl_toggle</merge><br />
</match><br />
</device><br />
</deviceinfo><br />
</pre><br />
<br />
Это простой пример, подходящий для владельцев стандартных устройств ввода. Для владельцев ноутбуков, подключающих, допустим, выносную клавиатуру, правила будут сложнее.<br />
<br />
=== Модель клавиатуры ===<br />
<br />
Модель Вашей клавиатуры указана в ключе input.xkb.model. Различные значения для этого ключа можно увидеть в ''/usr/share/X11/xkb/rules/evdev.lst''. В данном примере модель pc105 - стандартная клавиатура.<br />
Например, для клавиатуры Logitech Generic Keyboard строка примет вид <br />
<merge key="input.xkb.model" type="string">logitech_base</merge><br />
<br />
=== Опции раскладок ===<br />
<br />
Параметры ''xkb.layout'' и ''xkb.variant'' указывают соответственно на варианты раскладки. В примере раскладки ''us,ru'' дополнены опцией ''winkeys'' которая расставляет знаки препинания и некоторые символы в соответствии с раскладкой win.<br />
<br />
=== Переключение раскладок ===<br />
<br />
Для настройки переключения между двумя раскладками, используйте опцию значение ключа input.xkb.options. В примере переключение осуществляется по правому Ctrl.<br />
Другой пример: раскладки переключаются комбинацией Ctrl-Shift, при использовании русской раскладки горит лампочка Scroll Lock. , строка опций должна выглядеть следующим образом:<br />
<br />
<merge key="input.xkb.options" type="string">grp:ctrl_shift_toggle,grp_led:scroll</merge><br />
<br />
Возможно будет удобно использовать <Menu> для переключения раскладок и поменять CapsLock и левый Ctrl. Тогда нужно написать так: <br />
<br />
<merge key="input.xkb.options" type="string">grp:menu_toggle,grp_led:scroll,ctrl:swapcaps</merge><br />
<br />
=== Переключение раскладок средствами X.org ===<br />
<br />
Описано на странице [[Xorg_%28%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9%29#.D0.9D.D0.B0.D1.81.D1.82.D1.80.D0.BE.D0.B9.D0.BA.D0.B8_.D0.BA.D0.BB.D0.B0.D0.B2.D0.B8.D0.B0.D1.82.D1.83.D1.80.D1.8B|Xorg (Русский)]]<br />
<br />
==Compose-последовательности==<br />
С помощью клавиши «Compose» можно вводить практически все варианты символов с акцентами, а также разные специальные символы, например кавычки или тире «—», которых нет в стандартных раскладках.<br />
Для этого<br />
* Добавьте в xorg.conf опцию<br />
<pre>Option "XkbOptions" "compose:menu"</pre><br />
* Присвойте переменным окружения GTK_IM_MODULE и QT_IM_MODULE значение xim. Если этот шаг пропустить, все последующие настройки на GTK приложения распространяться не будут (они будут использовать свой метод ввода).<br />
* После этого можно создать в домашнем каталоге файл ~/.XCompose. Первой его строчкой можно включить все стандартные комбинации клавиш:<br />
<pre>include "/usr/share/X11/locale/en_US.UTF-8/Compose"</pre><br />
:а затем можно и задать любые дополнительные последовательности (по образцу как в /usr/share/X11/locale/en_US.UTF-8/Compose). Например,<br />
<pre><br />
<Multi_key> <period> <space> : "…" U2026 # HORIZONTAL ELLIPSIS, многоточие<br />
<Multi_key> <apostrophe> <apostrophe> : "́" U0301 # ударение<br />
</pre><br />
<br />
После этого стало возможным набирать много интересных символов, нажимая вначале клавишу Compose, а потом набирая ту или короткую иную последовательность. Например,<br />
:Compose + O + C даёт © (символ авторского права),<br />
:Compose + O + R даёт ®<br />
[http://webcvs.freedesktop.org/xorg/xc/nls/Compose/en_US.UTF-8?view=co Полный список последовательностей.]<br />
Пример .XCompose:<br />
<pre><br />
# -*- coding: utf-8 -*-<br />
#<br />
# .XCompose<br />
#<br />
# $Id: .XCompose,v 1.31 2008/09/18 17:57:14 deskpot Exp $<br />
<br />
#<br />
# Quotation marks<br />
#<br />
<Multi_key> <Cyrillic_be> : "«" guillemotleft # LEFT DOUBLE ANGLE QUOTATION<br />
<Multi_key> <comma> : "«" guillemotleft # LEFT DOUBLE ANGLE QUOTATION<br />
<Multi_key> <Cyrillic_yu> : "»" guillemotright # RIGHT DOUBLE ANGLE QUOTATION<br />
<Multi_key> <period> : "»" guillemotright # RIGHT DOUBLE ANGLE QUOTATION<br />
<Multi_key> <Cyrillic_BE> : "„" U201e # DOUBLE LOW-9 QUOTATION MARK<br />
<Multi_key> <less> : "„" U201e # DOUBLE LOW-9 QUOTATION MARK<br />
<Multi_key> <Cyrillic_YU> : "“" U201c # LEFT DOUBLE QUOTATION MARK<br />
<Multi_key> <greater> : "“" U201c # LEFT DOUBLE QUOTATION MARK<br />
#<br />
<Multi_key> <Cyrillic_zhe> : "‘" U2018 # LEFT SINGLE QUOTATION MARK<br />
<Multi_key> <semicolon> : "‘" U2018 # LEFT SINGLE QUOTATION MARK<br />
<Multi_key> <Cyrillic_e> : "’" U2019 # RIGHT SINGLE QUOTATION MARK<br />
<Multi_key> <apostrophe> : "’" U2019 # RIGHT SINGLE QUOTATION MARK<br />
<Multi_key> <Cyrillic_ZHE> : "“" U201c # LEFT DOUBLE QUOTATION MARK<br />
<Multi_key> <colon> : "“" U201c # LEFT DOUBLE QUOTATION MARK<br />
<Multi_key> <Cyrillic_E> : "”" U201d # RIGHT DOUBLE QUOTATION MARK<br />
<Multi_key> <quotedbl> : "”" U201d # RIGHT DOUBLE QUOTATION MARK<br />
<br />
#<br />
# Dashes<br />
#<br />
<Multi_key> <minus> : "—" emdash # EM DASH<br />
<Multi_key> <underscore> : "–" endash # EN DASH<br />
<br />
#<br />
# Currencies<br />
#<br />
<Multi_key> <Cyrillic_u> : "€" EuroSign # EURO SIGN<br />
<Multi_key> <e> : "€" EuroSign # EURO SIGN<br />
<Multi_key> <Cyrillic_a> : "£" sterling # POUND SIGN<br />
<Multi_key> <f> : "£" sterling # POUND SIGN<br />
<br />
#<br />
# Trademarks<br />
#<br />
<Multi_key> <Cyrillic_es> : "©" copyright # COPYRIGHT SIGN<br />
<Multi_key> <c> : "©" copyright # COPYRIGHT SIGN<br />
<Multi_key> <Cyrillic_ka> : "®" registered # REGISTERED SIGN<br />
<Multi_key> <r> : "®" registered # REGISTERED SIGN<br />
<Multi_key> <Cyrillic_ie> : "™" U2122 # TRADE MARK SIGN<br />
<Multi_key> <t> : "™" U2122 # TRADE MARK SIGN<br />
<br />
#<br />
# Math<br />
#<br />
<Multi_key> <Cyrillic_ef> : "≈" approximate # ALMOST EQUAL TO<br />
<Multi_key> <a> : "≈" approximate # ALMOST EQUAL TO<br />
<Multi_key> <5> : "‰" U2030 # PER MILLE SIGN<br />
<Multi_key> <equal> : "≠" U2260 # NOT EQUAL TO<br />
<Multi_key> <plus> : "±" plusminus # PLUS-MINUS SIGN<br />
<br />
#<br />
# Misc. typographics<br />
#<br />
<Multi_key> <Cyrillic_yeru> : "§" section # SECTION SIG<br />
<Multi_key> <s> : "§" section # SECTION SIGN<br />
<Multi_key> <Cyrillic_shcha> : "°" degree # DEGREE SIGN<br />
<Multi_key> <o> : "°" degree # DEGREE SIGN<br />
<Multi_key> <space> : " " nobreakspace # NO-BREAK SPACE<br />
<Multi_key> <Cyrillic_ve> : "…" ellipsis # HORIZONTAL ELLIPSIS<br />
<Multi_key> <d> : "…" ellipsis # HORIZONTAL ELLIPSIS<br />
<br />
#<br />
# Missing keys in Russian layout<br />
#<br />
<Multi_key> <3> : "#" numbersign # NUMBER SIGN<br />
<Multi_key> <4> : "$" dollar # DOLLAR SIGN<br />
<Multi_key> <Cyrillic_ha> : "[" bracketleft # LEFT SQUARE BRACKET<br />
<Multi_key> <Cyrillic_hardsign> : "]" bracketright # RIGHT SQUARE BRACKET<br />
<br />
#<br />
# Bindings to ease usage with the Russian `typewriter' layout.<br />
# NB: Unable to bind dollar symbol to be Compose+4, it's Compose+Shift+4.<br />
#<br />
<Multi_key> <2> : "—" emdash # EM DASH<br />
<Multi_key> <8> : "–" endash # EN DASH<br />
<Multi_key> <slash> : "#" numbersign # NUMBER SIGN<br />
<Multi_key> <percent> : "‰" U2030 # PER MILLE SIGN<br />
<Multi_key> <bar> : "±" plusminus # PLUS-MINUS SIGN<br />
</pre><br />
<br />
= Настройка GTK1 =<br />
Отредактируйте файл /etc/gtk/gtkrc.ru :<br />
<pre>style "gtk-default-ru" {<br />
fontset = "-*-arial-medium-r-normal--12-*-*-*-*-*-iso10646-1",\<br />
-*-fixed-medium-r-*-*-14-*-*-*-*-*-iso10646-1"<br />
}<br />
class "GtkWidget" style "gtk-default-ru"</pre><br />
<br />
= Настройка ncurses приложений =<br />
== Midnight Commander (mc) ==<br />
Пакет '''mc''' с версией 4.6.1-5 из репозитория '''extra'''<br>При старом срезе - пакет из репозитория '''community''' mc-utf8.<br>Теперь mc собран с поддержкой юникодной локали и имеет приличный вид.<br />
<br />
== nano ==<br />
С версии 2.0 nano поддерживает utf-8.<br />
<br />
== ncmpc ==<br />
В репозитории extra пакет ncmpc 0.11.1 собран с ncurses без поддержки unicode, а также файл руссификации почему-то в кодировке ISO-8859-1. Решение:<br />
*Скачайте из AUR [https://aur.archlinux.org/packages.php?ID=1947 архив]<br />
*Переместите его в '''/var/abs/local/''' (если вы используете ABS) или в любую другую директорию<br />
*Разархивируйте '''tar -xzf ncmpc-svn.tar.gz'''<br />
*Перейдите в получившуюся директорию<br />
*Выполните '''makepkg -i'''<br />
<br />
== dialog ==<br />
Некоторые скрипты (например, alsaconf) используют программу dialog для вывода сообщений. Чтобы включить в ней поддержку юникода, поставьте пакет dialog-w из community или пересобирите с опцией <code>--with-ncursesw</code><br />
<br />
= Настройка русских man-страниц =<br />
<br />
Установите русские страницы командой<br />
pacman -S man-pages-ru<br />
<br />
Также позаботьтесь о том, чтобы переменная окружения ''LESSCHARSET'' имела значение ''UTF-8'', либо просто заккоментируйте строку '''export LESSCHARSET="latin1"''' в файле ''/etc/profile'', тогда less будет автоматически брать кодировку из локали.<br />
<br />
= Сделаем openoffice русским =<br />
Все просто. Поддержка языков в openoffice реализуется отдельными пакетами.<br />
Смотрим список пакетов:<br />
pacman -Ss openoffice<br />
<br />
Ставим поддержку русского языка<br />
pacman -S openoffice-ru<br />
<br />
<br />
<br />
= Перекодировка тегов MP3 =<br />
<br />
Установите пакет mutagen:<br />
pacman -S mutagen<br />
<br />
В каталоге с вашей коллекцией mp3 файлов выполните команду:<br />
find -iname '*.mp3' -print0 | xargs -0 mid3iconv -eCP1251 --remove-v1<br />
<br />
Команда перекодирует старые теги из кодировки CP1251 в UTF8, запишет тег версии id3v2.4 и удалит теги первой версии.<br />
<br />
Минус способа: не все проигрыватели из ОС Windows понимают теги формата 2.4. Поведение при этом различное: от игнорирования тега, до ругани на битый файл.<br />
<br />
Hint: в mpd после этого нужно перечитать список проигрывания, например так:<br />
mpc update (дождитесь завершения, статус можно смотреть запуская mpc без параметров)<br />
mpc clear<br />
mpc listall | mpc add<br />
<br />
Опционально:<br />
mpc rm all<br />
mpc save all<br />
<br />
[[Category:Русский]]</div>
Zyamilon