解锁 ArchLinux fn 快捷键的新方法 (archlinux fn)

ArchLinux 是一个轻量级和高可定制化的 Linux 发行版,被广泛应用于开发和科学领域。它的定制性和灵活性使得它成为非常有吸引力的操作系统。然而,对于一些笔记本电脑用户,使用 ArchLinux 存在一个问题,就是 fn 快捷键无法正常工作。针对这个问题,我们提供一个新方法来解锁 ArchLinux fn 快捷键。

在多数笔记本电脑上,fn 快捷键可以帮助用户在键盘上使用附加功能,例如音量、亮度、触摸板等手势控制。但是,在 ArchLinux 系统中,这些键并不是默认启用的,这可能会给一些笔记本电脑用户带来一些不便。

传统解决方法:使用 Xmodmap 进行修改

在过去,解决这一问题的方法往往是使用 Xmodmap 来修改键盘映射。这种方法需要用户手动查找 fn 键的键码,然后通过终端输入命令修改映射。这个过程较为繁琐,稍有不慎就可能导致系统崩溃或键盘失灵。

新解决方法:使用 systemd-services 进行配置

现在,一个更为高效的方法出现了,它可以通过 systemd-services 配置启用 fn 快捷键,不需要用户手动输入命令,也不会影响到其他键的映射。下面是具体步骤。

步骤一:创建 service 文件

在 /etc/systemd/system/ 目录中创建一个名为 fn-keys.service 的文件。输入以下内容:

[Unit]

Description=Enable laptop fn functional keys

[Service]

Type=oneshot

RemnAfterExit=true

ExecStart=/usr/bin/setkeycodes e075 159 e06b 158 e02e 142 e037 176 e046 184 e082 212 e087 226 e089 240

[Install]

WantedBy=multi-user.target

重启 systemd-daemon 以使这个文件生效:

$ systemctl daemon-reload

步骤二:设置按键映射

输入以下命令,查找 fn 键的映射:

$ xev | grep keycode

在键盘上按下 fn 键后,输出中应该有一行包含 keycode,例如:

keycode 220 (keysym 0x0, NoSymbol)

将这个键码记录下来。

然后,在终端中输入如下命令,将键码转换为 setkeycodes 命令的参数,以便我们使用 service 文件中的命令映射 fn 键:

$ printf “0x%x 0x%x\n” $((0x+128))

在这个命令中,将 替换为你记录下来的键码。例如,如果你的 fn 键的键码是 220,那么命令应该是:

$ printf “0x%x 0x%x\n” 220 $((0x220+128))

输出将是:

0x220 0x298

现在,将这个输出复制到 fn-keys.service 中的 ExecStart 行前面,以 # 号注释掉上面的 ExecStart 行:

#[Service]

#Type=oneshot

#RemnAfterExit=true

#ExecStart=/usr/bin/setkeycodes e075 159 e06b 158 e02e 142 e037 176 e046 184 e082 212 e087 226 e089 240

[Service]

Type=oneshot

RemnAfterExit=true

ExecStart=/usr/bin/setkeycodes 0x220 0x298 0xe075 0xa3 0xe06b 0xa2 0xe02e 0x96 0xe037 0xb0 0xe046 0xb8 0xe082 0xd4 0xe087 0xe2 0xe089 0xf0

同样,将末尾的五个分别依次为 kbdillumup kbdillumdown wireless touchpadoff sleep 中相应的值修改,以启用其他 fn 快捷键。注意,这些值可能会因笔记本品牌和型号而异,需要用户自己去查找。

步骤三:启用服务

输入以下命令:

$ systemctl start fn-keys.service

重新启动电脑后,fn 快捷键现在应该可以正常工作。如果 fn 快捷键在下次启动时失效,可以使用以下命令重新启用服务:

$ systemctl daemon-reload

$ systemctl start fn-keys.service

相关问题拓展阅读:

Linux 存放用户密码信息的目录是什么?

Linux有很多的察圆版败搏塌本有RHEL、CentOS

Ubuntu

Debian

Fedora

OpenSuse

FreeBSD

ArchLinux

LinuxMint

Deepin

oracleLinux

Kylin

等等以上都是linux系统存放银坦的位置也有小小差别,在/etc/passwd   存放的系统用户密码文件

用户帐号 /etc/passwd

用户密码 /etc/shadow

可以查看下用户密码信息文件都放了什么。败悄

# vi /etc/passwd

root:x:0:0:root:/root:/bin/bash

daemon:x:2:2:daemon:/in:/in/nologin

adm:x:3:4:adm:/var/adm:/in/nologin

lp:x:4:7:lp:/var/spool/lpd:/in/nologin

sync:x:5:0:sync:/in:/bin/sync

shutdown:x:6:0:shutdown:/in:/in/shutdown

halt:x:7:0:halt:/in:/in/halt

mail:x:8:12:mail:/var/spool/mail:/in/nologin

news:x:9:13:news:/etc/news:/in/nologin

……..

每一行内容存放一个用户的信息,每个用户信息有7部分组成

root:x:0:0:root:/root:/歼枯敬bin/bash

root

用户名

用户登录系统时使用的用户名

x密码密码位

UID用户标识号

GID缺省组标识

root 注释性描述    例如存放用户全名等信息

/root宿主目录用户登录系统后的缺省目录

/bin/bash 命令解释器 用户使用的Shell ,默认为bash

UID

关于上面的UID这里细说一下,其实决定用户是什么权限,是由UID号决定的。

linux用户分为三种:

超级用户:(root UID=0)

普通用户: (UID 500~60000)

伪用户: (UID 1~499)

所以,可以修改用户的UID号来修改用户的类型,如果把root的UID号为500,那么root就变成了普通用户,如果把fnngj用户的UID改为0,那么它就拥有了root用户的

超能力

# vi /etc/passwd 进入之后修改,完了保存退出就OK了。

伪用户

说到用户种类,又牵扯到一个伪用户,那么伪用户是干什么用的?

1、伪用户与系统和程序服务相关。

bin、daemon、shutdown、halt等,任何Linux系统默认都有这些伪用户。氏慎

mail、news、games、apache、ftp、mysql及sshd等,与

linux系统

的进程相关。

2、伪用户通常不需要或无法登录系统。

3、可以没有宿主目录。

用答槐户信息放在清码友/etc/passwd文模神件

密码信息放在/etc/shadow文件

archlinux fn的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于archlinux fn,解锁 ArchLinux fn 快捷键的新方法,Linux 存放用户密码信息的目录是什么?的信息别忘了在本站进行查找喔。


数据运维技术 » 解锁 ArchLinux fn 快捷键的新方法 (archlinux fn)