Bootstrap

ArchLinux使用中常见问题集锦

本文由枫落夜舞原创,欢迎转载,转载前请注明出处:http://blog.csdn.net/u011152627/article/details/38145125


  1. 最近更新2014-12-04 15:19 PM


  2. ArchLinux使用pacman作为包管理器,软件包的操作管理记录可以在日志文件/var/log/pacman.log中查看。


  3. ArchLinux在使用gnome 3.12版本以上的桌面环境时,如果使用startx启动桌面环境的话,会发现菜单里没有锁屏按钮。
    因为gnome桌面の锁屏功能需要调用gdm登陆器,だから,如果想要正常使用锁屏功能,需要开启gdm服务,使用gdm来登陆桌面环境:

    # systemctl enable gdm.service

    如果不再需要使用登陆器登陆桌面环境了,可以关闭登陆器服务:

    # systemctl disable gdm.service

    如果是KDE桌面环境,操作方式类似:

    # systemctl enable kdm.service     //开启KDE的图形登陆器kdm服务
    # systemctl disable kdm.service     //关闭kdm服务

  4. ArchLinux在使用gnome桌面环境时,默认情况下控制面板中的在线账户选项时无效,需要安装telepathy包组才能正常添加在线账户。

    # pacman -S telepathy-gabble     //只需安装这一个包就可以正常使用部分在线账户,如果需要使用webfetion或是webqq等通信协议,则请完整安装telepathy包组。

  5. 在默认情况下,使用ArchLinux的grub扫描硬盘生成grub.cfg文件时,是不会扫描出硬盘上所存在的其它系统的,需要安装以下组件:

    # pacman -S os-prober

  6. 在默认情况下,ArchLinux的时区设置为UTC,即硬件时钟为标准时钟(UTC),而系统的当前时间是由硬件时钟加时区时差得到的。这样的配置通常是Unix系列的默认设置(包括Mac OS X)。而在Windows下,默认硬件时间即为本地时间(localtime),故会与以硬件时间为UTC的ArchLinux产生冲突。推荐将ArchLinux修改为与Windows相同的localtime配置:

    # timedatectl set-local-rtc true

    如果不需要使用localtime时区而需要改回UTC,执行:

    # timedatectl set-local-rtc false

    查看当前的时区配置:

    $ timedatectl status | grep local

  7. 在默认情况下,使用gnome桌面环境时,ArchLinux开机时启动桌面环境后音量会自动重置为0,无论你上次关机时音量是多少。解决开机自动静音问题需要安装以下组件(KDE桌面环境不需要!):

    # pacman -S alsa-utils

  8. 在默认情况下,ArchLinux在源中安装的Tomcat需要root权限才能够启动,所以在使用NetBeans/Eclipse等集成开发环境进行WEB开发时,需要从Tomcat官网下载独立得二进制包放在用户有权限的家目录下以供IDE使用,需要注意的是,默认解压出的Tomcat二进制包中的启动脚本是没有启动权限的,因此不要忘记将~/apache-tomcat-*/bin目录下的启动脚本添加可执行权限:

    $ chmod u+x *.sh

  9. 在默认情况下,ArchLinux的蓝牙服务是开启的,查看蓝牙服务的状态使用命令:

    # systemctl status bluetooth.service

    不需要使用蓝牙服务的话,使用以下命令关闭:

    # systemctl disable bluetooth.service

  10. 默认情况下,ArchLinux是无法挂载使用mtp服务的设备的,可以通过安装gvfs-mtp让nautilus识别出mtp设备,或是安装kio-mtp让dolphin识别出mtp设备:

    # pacman -S gvfs-mtp     //用于gnome桌面环境
    # pacman -S kio-mtp     //用于KDE桌面环境

  11. 在安装字体时,记住千万不要手贱去装wqy-microhei-lite这个字体包,会造成Netbeans中使用文泉驿等宽微米黑字体时空格变成口口(是非もなし)。


  12. 在使用gnome桌面环境时,通常会选择安装libreoffice作为办公套件,在安装时,不推荐完整安装libreoffice包组,会将在gnome桌面环境下完全无用的libreoffice-kde4也一起安装进来,libreoffice-kde4会带来许多无用的KDE依赖。同时,也不推荐安装libreoffice-sdk,这是libreoffice的开发包,对普通用户无用。(最新版本的ArchLinux中,libreoffice已经不再分开打包,可以忽略此条)


  13. 在使用gnome桌面时,如过你的机器使用的是Intel的核芯显卡,则有可能会出现屏幕亮度无法保存的情况,解决办法是使用Xorg服务中的亮度调节命令,由于gnome桌面环境在登录时会自动执行.xprofile文件,故可在.xprofile文件中写入以下指令:(在Linux 3.17内核之后,不再会出现此问题,因此使用新内核的话可以无视此条)

    xbacklight -set xx     //xx代表亮度的百分比,推荐60

  14. ~/.local/share/applications/mimeapps.list文件是控制扩展名与默认应用关联的文件,需要谨慎配置。在gnome桌面环境下可能会遇到一些与之相关的问题:

    1. 有时在gnome控制中心中更改默认应用程序时会出现无法保存的情况,这时需要自行修改mimeapps.list文件,将希望的应用程序改为默认值,或者直接删除该文件,系统会重新生成一个默认配置的文件。

    2. 在使用gnome扩展Places Status Indicator时,如果安装了音乐播放器audacious,则默认情况下会出现从扩展中打开文件夹并不是启用nautious,而是使用audacious打开。出现这种情况就是对于inode/directory类型的应用关联出现了问题,可以在mimeapps.list文件中的[Default Applications]中写入键值inode/directory=nautilus.desktop,即手动指定了目录类型的默认打开方式,执行以下命令的作用类似:

      $ xdg-mime default nautilus.desktop inode/directory

  15. 有时,安装zsh后系统会自动生成高优先级的zshrc配置文件,使得用户自己的配置文件无法生效,遇到此种情况时可以尝试移除/etc/zsh/zshrc以及/etc/skel/.zshrc这两个zsh配置文件。


  16. 默认情况下,使用KDE桌面环境并使用kdm作为启动管理器时,无法使用sudo命令或是在虚拟终端登录su来使用管理员权限启动GUI程序,会提示can not connect to X Server:0.0(使用startx手动启动桌面环境不会有此现象),原因是当前用户没有连接到Xserver的权限,在普通用户目录下的.xprofile文件中加入一句 xhost + 即可。


  17. 默认情况下,在ArchLinux中挂载非系统分区需要密码验证,非常麻烦,可以修改配置文件:

    /usr/share/polkit-1/actions/org.freedesktop.udisks2.policy

    将此配置文件中的<action id="org.freedesktop.udisks2.filesystem-mount-system">标签中的子标签<allow_active></allow_active>的值改为yes即可无需通过密码验证直接挂载分区。


  18. 默认情况下,安装的stardict是不包含词库的,需要自行下载,可以在官网上下载tar.gz格式的词库文件解压后得到的文件夹放在dic目录中。对于GTK图形库下的stardict,词库位置在/usr/share/stadict/dic,对于使用QT图形库的qstardict,词库位置为~/.satdict/dic(该目录默认不存在,需要自己手动建立)。


  19. 现在ArchLinux支持多个版本的JDK共存,当你同时安装了openjdk7openjdk8时,如果想切换默认使用的JDK版本,使用如下命令:

    # archlinux-java set 'java-8-openjdk'     //将默认JDK版本切换为openjdk8
    # archlinux-java set 'java-7-openjdk'     //将默认JDK版本切换为openjdk7

    默认情况下,JDK的环境变量之一CLASSPATH是不需要配置的(CLASSPATH不存在于环境变量中),java指令会自动搜索当前目录的class文件,但是当CLASSPATH被别的程序修改而不再是不存在于环境变量列表中时,需要仔细查看CLASSPATH的值,确认CLASSPATH是否将当前目录包含在了其中,如果CLASSPATH中不包含当前目录,则可以在.xprofile文件中加入语句:

    export CLASSPATH=$CLASSPATH:.

  20. Nautilus文件管理器的缩略图保存在以下位置:

    /home/~/.cache/thumbnails/normal

    如果遇到缩略图无法正常预览的情况,则可以尝试重建缩略图图标缓存,即删除对应的normal文件夹,即可回复缩略图的正常显示。


  21. 默认情况下,在ArchLinux中,pacman包管理器默认是没有开启彩色的终端输出的,需要开启彩色输出需要修改/etc/pacman.conf文件,去掉选项Color前面的#注释。


  22. 命令行工具grep2.21版本之后取消了对环境变量GREP_OPTIONS的支持,如果安装了OhMyZsh插件或是有其它脚本创建了此环境变量,则在使用grep时会出现错误提示。要解决此问题,需要修改~/.oh-my-zsh/lib/grep.zsh文件,注释掉其中关于GREP_OPTIONS环境变量值的export。此外,如果需要grep输出内容高亮关键字显示,可以采用alias命令别名的方式,在.oh-my-zsh/lib/grep.zsh文件中添加:

    alias grep="grep --color=auto"

    需要注意的是,此配置比较诡异,写在.xprofile文件中是没有效果的。


  23. 当ArchLinux装在VirtualBox中时(即ArchLinux作为guest),启用增强功能的方式与其他Linux有所区别,在ArchLinux需要不必采用附加镜像安装增强功能的方式,而是直接安装官方仓库中的virtualbox-guest-modules包即可,如过需要增强功能随着内核升级而动态更新则需要安装dkms服务,执行以下命令完成增强功能的安装:

    # pacman -S virtualbox-guest-modules virtualbox-guest-dkms

    当增强功能安装完成后,需要启动对应的内核模块:

    # modprobe -a vboxguest vboxsf vboxvideo

    之后还需要运行VirtualBox客户端脚本确保相关特性全部开启:

    # VBoxClient-all

    如果经常使用增强功能,则可以开启服务:

    # systemctl enable vboxservice

    然后就可以尝试挂载你的分区了:

    # mount -t vboxsf [你的共享文件夹的名字] [需要挂载到的位置]

  24. 对于采用Intel/ATI平台的计算机,若不需要使用独立显卡,则不必安装xf86-video-ati独显驱动,在3.12内核中已经集成了AMD系列GPU的DPM(Dynamic Power Manager),无需额外设置,系统会自动关闭ATI独显来节省功耗/降低发热。使用如下命令来查看各个显卡的运行状态:

    # cat /sys/kernel/debug/vgaswitcheroo/switch

    如果得到类似下面的结果。则说明电源管理正常生效:

    0:IGD:+:Pwr:0000:00:02.0
    1:DIS: :DynOff:0000:03:00.0

    其中,IGD代表Intel核芯显卡,DIS代表独立显卡,Pwr代表正在通电工作,DynOff代表电源动态关闭,现阶段(截至到目前最新的3.17内核)AMD的独显在与Intel核显协同工作时总是动态关闭的。
    如果需要启用ATI独显,则需要安装对应驱动,Linux平台下的双显卡动态切换技术远不如Windows下的成熟,推荐使用“ATI开源驱动+PRIME”的解决方案。首先,检查系统中存在的显卡:

    $ xrandr --listproviders

    正常情况下,你将看到类似的输出:

    Providers: number : 2
    Provider 0: id: 0x7a cap: 0xb, Source Output, Sink Output, Sink Offload crtcs: 3 outputs: 4 associated providers: 1 name:Intel
    Provider 1: id: 0x51 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 6 outputs: 1 associated providers: 1 name:radeon

    这说明当前的系统中存在有ID为0x7a的Intel核芯显卡以及ID为0x51的ATI独立显卡。使用mesa-demos包中的glxinfo命令做测试:

    $ glxinfo | grep "OpenGL renderer"

    输出结果为:

    OpenGL renderer string: Mesa DRI Intel(R) Ivybridge Mobile

    不难看出在默认情况下,系统总是调用核芯显卡的。为了使用独立显卡,你必须先将集成显卡定义为offload provider,因为当前连接到显示器的是集成显卡:

    $ xrandr --setprovideroffloadsink radeon Intel

    这个命令最后的两个参数就是前面查到的显卡名称,独立显卡名称写在前,核芯显卡名称放在后面(注意大小写!)。再次运行glxinfo命令测试:

    $ DRI_PRIME=1 glxinfo | grep "OpenGL renderer"

    如果看到测试结果为:

    OpenGL renderer string: Gallium 0.4 on AMD TURKS

    那么,ATI的独立显卡已经开始工作了。如果每次开机都需要使用独立显卡,则推荐将上述命令写入.xprofile文件中。

    PS:现阶段ATI独显的开源驱动在与Intel的核显协同工作时会经常性在桌面环境中出现闪退且重新登录后独显不被xrandr识别等BUG,因此,除非必要,不建议安装ATI的开源驱动。


  25. ArchLinux默认安装的基础包base里只有一些常规命令,另外有一些常用的必要工具需要安装:

    软件包名称功能
    net-tools包含ifconfig,netstat等常用网络工具
    zip/unzipzip压缩文件的压缩与解压工具
    unrarrar压缩文件解压工具
    p7zip7z压缩文件的解压工具(带有GUI)
    at定时执行操作命令
    nmap高级端口扫描工具
    opensshssh远程登录
    screenfetchCLI下的Arch字符图标と系统信息显示
    automake编译安装时经常会用到的工具
    autoconf编译安装时经常会用到的工具
    cmake编译安装时经常会用到的工具
    wget简单的单线程下载工具
    aria2命令行下的下载工具,支持多种协议
    curl命令行下的下载工具,支持多种协议
    tcpdump网络数据采集分析工具
    lsof列出系统当前打开的文件
    absArchLinuxの打包系统
    docker高效的开发部署容器
    iotop进程磁盘读写查看器
    ctags语法分析工具
    parted/gpartedGPT分区工具
    dosfstools为mkfs/gparted等工具添加fat16/32文件系统支持
    sysstat系统状态工具集(iostat,isag,mpstat,pidstat,sadf,sar)
    arch-install-scripts常用的一些安装工具(比如genfstab就在此包中)

    还有一些工具可以选择安装:

    软件包名称功能
    man-pages-zh_cn中文的man手册(实际中文man手册已经多年无人维护,部分内容已过时)
    bc简单的命令行计算器
    pv电影风格的文本输出
    tree树状显示文件
    mesa-demos包含有glxinfo等3D图形测试工具
    glances全面的系统资源监视工具
    htop进程查看工具,功能类似top,但更加全面
    pkgfile根据需要的文件来查找对应的软件包

  26. ArchLinux中有许多包已经被默认地添加进了包组(Package Groups)中,安装时使用包组名可以快速地安装整个包组中的软件。
    常见的包组有:

    包组名称组件功能
    base基础包组,必装
    base-devel基础开发工具包组,必装
    gnustep-coreobjective-c的开发库
    gnomegnome桌面环境的基础包组
    gnome-extragnome桌面环境的附加软件包组
    kde完整KDE桌面环境的包组
    kde-metaKDE桌面环境的虚包包组(动态更新包内成员,推荐使用)
    xfce4xfce桌面环境的基础组件
    xfce4-goodiesxfce桌面环境的附加组件
    vim-pluginsvim编辑器的附加插件包组
    qtqt5包组
    libreofficeoffice套件
    fcitx-imfcitx输入法包组
    calligraKoffice办公套件包组
    telepathygnome桌面环境的在线账户包组
    gstreamer0.10-plugins多媒体解码器包组

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;