2018年12月

安装软件 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

因为某些英文程序字符显示不全,所以考虑把 win7 改为英文语言。直接下载英文语言包安装不成功,经过多次尝试和百度终于找到合适的办法。

下载 Vistalizator.exe, windows6.1-kb2483139-x86-en-us_783d6dd59e2ec8fb0995a059c9c121795bde46c8,这两个包。然后使用 Vistalizator 中的安装语言包来安装语言。我使用的系统安装到最后是失败的,提示我使用快速安装。

然后选择安装语言包的时候, 把“内部” 改为“快速”,再次安装。安装完成以后,切换语言的时候提示我下载 WindowsUpdateAgent-7.6-x86,下载这个安装包以后,不要直接安装这个 WindowsUpdateAgent 软件。需要用 Vistalizator 里面的 更改语言或者更新语言,根据提示打开 WindowsUpdateAgent,由Vistalizator 来安装,安装完成后,根据提示注销重启。即可变为英文系统。 但是开机 logo 之类的还是中文的,进入系统之后就是英文的。

使用 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 顺利更新。

今天在另外一台电脑上面使用 rt-thread 的 env 工具,scons --menuconfig 出现错误,提示如下:

scons: Reading SConscript files ...
scons: Entering directory `/home/ptz/workspace/rt-thread/rt-thread/tools/kconfig-frontends'
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
gcc -o kconfig-mconf libs/lxdialog/checklist.o libs/lxdialog/inputbox.o libs/lxdialog/menubox.o libs/lxdialog/textbox.o libs/lxdialog/util.o libs/lxdialog/yesno.o libs/parser/yconf.o frontends/mconf/mconf.o -lncurses
/usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: libs/lxdialog/util.o: undefined reference to symbol 'nodelay'
/lib64/libtinfo.so.6: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
scons: *** [kconfig-mconf] Error 1
scons: building terminated because of errors.
sh: /home/ptz/workspace/rt-thread/rt-thread/tools/kconfig-frontends/kconfig-mconf: No such file or directory

初步判断是找不到 nodelay 这个函数,于是使用 nm -D /lib/libncurses.so.6 |grep -w nodelay, 结果发现果然没有 nodelay。然后测试了可以用的电脑,可以用的电脑上面 ncurses 这个动态库是有 nodelay 的,于是查看两台电脑 ncurses 的 USE 区别,结果发现,不能用的 ncurses 开启了 tinfo 这个 USE。然后 nm -D /lib/libtinfo.so.6 |grep -w nodelay,这下果然有了。

所有只需要修改 rt-thread/tools/kconfig-frontends/SConstruct, 把 tinfo 加入库路径即可正常工作了。

首先使用 grep --color -E "vmx|svm" /proc/cpuinfo 检查 cpu 能不能支持虚拟化,注意 biso 里面要开启虚拟化。

内核开启相应选项

[*] Virtualization  --->
    <*>   Kernel-based Virtual Machine (KVM) support

[*] Virtualization  --->
    <M>   KVM for Intel processors support

[*] Virtualization  --->
    <M>   KVM for AMD processors support

[*] Virtualization  --->
    <*>   Host kernel accelerator for virtio net

Device Drivers  --->
    [*] Network device support  --->
        [*]   Network core driver support
        <*>   Universal TUN/TAP device driver support

[*] Networking support  --->
        Networking options  --->
            <*> The IPv6 protocol
            <*> 802.1d Ethernet Bridging

Kernel hacking  --->
        Compile-time checks and compiler options  --->
            [*] Debug Filesystem

File systems  --->
    <*> The Extended 4 (ext4) filesystem
    [*]   Ext4 Security Labels

然后根据需要 qemu 使用的客户端,修改 make.conf

QEMU_SOFTMMU_TARGETS="arm x86_64 i386"
QEMU_USER_TARGETS="x86_64 arm armeb i386"

增加 qemu 的 USE : accessibility gtk ncurses python sdl spice usbredir 然后安装 qemu: emerge --ask app-emulation/qemu 加入 kvm组: gpasswd -a kvm

安装 virt-manager: emerge -v virt-manager,注意开启 USE: gtk 配置让普通用户使用 qemu: groupadd libvirt usermod -a -G libvirt

vim /etc/libvirt/libvirtd.conf

unix_sock_group = "libvirt"
unix_sock_ro_perms = "0777"
unix_sock_rw_perms = "0770"

退出重新登录后,rc-service libvirtd restart 重启服务.

最近在 linux 平台使用 truestudio 这样的基于 eclipse 二次开发的 IDE,发现编辑区会一直闪烁。经过一番搜索尝试之后,终于找到了解决的方法。

转自:http://www.riksoft.it/wikiriks/ide/eclipse-luna-speedup-and-fix-flickering https://stackoverflow.com/questions/41147840/eclipse-flickering-on-new-line

Eclipse Luna speed up and fix flickering

I used to work with Indigo and it was pretty good, but once in a while it's important to upgrade to have some new features so I was forced to install Luna.

First huge problem Try to move the editor tabs: everything disappear. The entire Window turn to gray (on Windows some experience it as black)

Second problem A lot of flickering everywhere, even on other windows not Eclipse related (e.g file manager, pluma, etc.).

Third problem Slow, slow slow. My i7 workstation can't scroll the editor properly. What do they expecty me to use? A Cray-X Mainframe?8-O When I use the down arrow, it's so slow that the keys are queued and I can't figure out when depressing the key to stop where I want to.

Solution Make a bash script like this one:

#!/bin/bash
export SWT_GTK3=0
export UBUNTU_MENUPROXY=0
cd /opt/eclipse
./eclipse -showlocation

edit the launch icon of Eclipse to use that script instead of eclipse directly. Try it. No more flickering and good speed is back!

FIX the theme With the above modifications the gtk menu will look a bit messy. To fix it, go in window→preferenced→general→appearance and set classic theme and that's it!