分类 Linux 下的文章

最近在另外一台电脑上面安装 gentoo和 emacs,但是碰到奇怪的问题,在旧电脑上面,可以使用 ctrl + space 呼出输入法,而新电脑只能触发 复制功能。 经过在网上查找和两台电脑之间的对比,找到了解决方法。

  1. 首先使用 locale -a 来查看电脑是否支持 zh_CN.utf8 或者 zh_CN.UTF-8, 然后在 .bachrc 中设置 LC_CTYPE = zh_CN.utf8 或者 UTF-8.

  2. 我用的是 i3wm,所以在 .xinitrc 中设置 export GTK_IM_MODULE=fcitx export QT_IM_MODULE=fcitx export XMODIFIERS="@im=fcitx"

  3. 安装字体,经过对比,发现旧电脑比新电脑多了一些字体文件,在 /usr/share/fonts 文件夹下面,多出了 misc, 100dpi, 75dpi。经过仔细对比 font 相关安装软件,发现旧电脑多安装了 font-alias, font-misc-misc。在新电脑上安装这两个软件之后,退出当前帐号,再进无效, 重启再进,就可以生效了。

参考了: emacs中文问题(输入法无法呼出) https://www.douban.com/note/688353496/

最近考虑搞个私人 portage, 用于一些软件的安装和管理。

mkdir -p /usr/local/portage/app-misc/hello-world
cd $_
cp /usr/portage/header.txt ./hello-world-1.0.ebuild
vim hello-world-1.0.ebuild
EAPI=7

DESCRIPTION=""
HOMEPAGE=""
SRC_URI=""

LICENSE=""
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""

DEPEND=""
RDEPEND="${DEPEND}"
BDEPEND=""

上面这个是基础模板。

vim hello-world-1.0.ebuild

DESCRIPTION="A classical example to use when starting on something new"
SLOT="0"

ebuild hello-world-1.0.ebuild manifest clean merge 输出:

Appending /usr/local/portage to PORTDIR_OVERLAY...
!!! Repository 'x-portage' is missing masters attribute in '/usr/local/portage/metadata/layout.conf'
!!! Set 'masters = gentoo' in this file for future compatibility
>>> Creating Manifest for /usr/local/portage/app-misc/hello-world
 * checking ebuild checksums ;-) ...                                                                                                          [ ok ]
>>> Unpacking source...
>>> Source unpacked in /var/tmp/portage/app-misc/hello-world-1.0/work
>>> Preparing source in /var/tmp/portage/app-misc/hello-world-1.0/work ...
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/app-misc/hello-world-1.0/work ...
>>> Source configured.
>>> Compiling source in /var/tmp/portage/app-misc/hello-world-1.0/work ...
>>> Source compiled.
>>> Test phase [not enabled]: app-misc/hello-world-1.0

>>> Install hello-world-1.0 into /var/tmp/portage/app-misc/hello-world-1.0/image category app-misc
>>> Completed installing hello-world-1.0 into /var/tmp/portage/app-misc/hello-world-1.0/image

 * Final size of build directory: 4 KiB
 * Final size of installed tree:  4 KiB

 * checking 0 files for package collisions
>>> Merging app-misc/hello-world-1.0 to /
>>> app-misc/hello-world-1.0 merged.

上面是基本的 ebuild.

vim hello-world-1.0.ebuild

EAPI=7
HOMEPAGE="https://wiki.gentoo.org/index.php?title=Basic_guide_to_write_Gentoo_Ebuilds"
SRC_URI="https://dev.gentoo.org/~tomwij/files/wiki/hello-world-1.0.tar.gz"
LICENSE="MIT"

未完待续

gentoo 中安装 Cataclysm - Dark Days Ahead,使用web 下载稳定版的安装包,使用 tar 进行解压。

安装需要共享库:sdl2-mixer,

未完待续

最近想在 gentoo 上面听音乐, 以前用过 audacious,现在想换成 moc 试试看。

emerge -av moc,结果安装完了以后,放 mp3 没有声音,把 USE 里面各种相关解码的都打开也没有用。

只好回头继续安装 audacious,在安装 audacious 的时候,发现 audacious 依赖与它的插件 audacious-plugins,而 audacious-plugins 中有 USE 是 mp3,打开这个 mp3,发现安装的是 libmp123,安装完成以后, audacious 就可以放 mp3 的文件了。而且 moc 也能通过 libmp123 来播放 mp3 文件。

安装软件 emerge --ask net-analyzer/wireshark

把用户加入 wireshark 组。 gpasswd -a $USER wireshark

如果不像重新登录就可以使用 wireshark,使用下面这条命令。 newgrp wireshark

gentoo 中默认的 wireshark 安装是没有图形显示的. 必须开启 USE 中的 qt 或者 gtk,开启之后重新编译,就可以用 wireshark 来打开软件了。

以前的 virtualbox 可以启动,现在无法启动。 原因是因为更新了内核,而 virtualbox 的模块没有跟着更新,所以导致无法启动。

emerge --ask --oneshot @module-rebuild 使用这个命令重新编译 virtualbox 的模块,然后 reboot,就可以使用 virtualbox 了。

想要 virtualbox 开机自启动的话,编辑 /etc/modules-load.d/virtualbox.conf

vboxdrv
vboxnetadp
vboxnetflt
vboxpci

使用 rt-thread pkgs --update 时候, 提示出错,信息如下:

Traceback (most recent call last):
  File "/home/ptz/.env/tools/scripts/env.py", line 31, in <module>
    from cmds import *
  File "/home/ptz/.env/tools/scripts/cmds/cmd_package.py", line 164
    except Exception, e:
                    ^
SyntaxError: invalid syntax

估计是 python 版本的锅,使用 eselect python list 查看当前版本,使用 eselect python set 2 选择 2.7 版本,然后使用 pkgs --update 顺利更新。