gentoo安装的点点滴滴(六)

1. 升级了下内核,wireshark出问题了,直接打开不能发现网卡,要sudo才能打开。在普通用户下直接用wireshark的方法可以参照http://blog.csdn.net/u011500307/article/details/13506763。是因为这次升级内核删除了Filesystem Capabilities这个特性导致的,具体的原因可以见:http://packetlife.net/blog/2010/mar/19/sniffing-wireshark-non-root-user/。下面是内核的配置:



2. 在xfce下的Qt程序的界面都比较不友好,选择了默认的桌面主题,但是就是和桌面的主题不同。后来google搜xfce gtk qt 和gentoo gtk qt可以找到下面的解决方法(https://wiki.gentoo.org/wiki/GTK%2B_themes_in_Qt_applications),从wiki上可以得到:

The GTK+ style for Qt can be built by setting the gtkstyle USE flag for dev-qt/qtgui.

Set the gtkstyle USE flag. If there is a blocker, unset the qt4 flag in x11-libs/cairo:

 [Collapse
File/etc/portage/package.use

dev-qt/qtgui gtkstyle
x11-libs/cairo -qt4

and rebuild the packages with their new USE flags:

root # emerge --ask --changed-use qtgui cairo
主要就是安装qtgui的时候要加上gtkstyle这个use标记。还有就是64位的系统下运行32位的Qt程序要 app-emulation/emul-linux-x86-qtlibs加上gtkstyle重新编译下。

编译完成后打开qtconfig,选择GTK+主题就可以了,如果不行的话,多换几下主题,再换回去。我就遇到这个奇怪的问题,本来都安装好了,就是没有实现gtk界面,后来多换的几次主题后就好了。

3. 由于精简的了内核,aircrack启动的时候就是找不到网卡,在https://forums.gentoo.org/viewtopic-t-841814-start-0.html,这里找到答案了。

For legacy software that still uses wireless extensions you have to enable nl80211 wext compatibility.

代码:
CONFIG_CFG80211_WEXT=y
But I think aircrack-ng supports nl80211 at least as long as net-wireless/iw is installed

在内核menu中找到这项,并编译就好了。

-*- Networking support  --->
	-*-   Wireless  ---> 
		 <*>   cfg80211 - wireless configuration API 	
		 	[*]     cfg80211 wireless extensions compatibility  


4. 安装gentoo这么久了,才想起自己的华硕n45上有media keys没有用啊,先用showkey来识别,没有反应。内核的相应的驱动没有装,内核模块如下:

Bus options (PCI etc.)  --->
    <*> Support for PCI Hotplug  --->
         [*]   ACPI PCI Hotplug driver

 Device Drivers  ---> 
    [*] X86 Platform Specific Device Drivers  --->
        <M>   ASUS WMI Driver                                                                             
        <M>     Asus Notebook WMI Driver                                                             
        <*>   WMI 

上面的ASUS WMI Driver依赖于其它几个选项,只有其它几个选上了,才会出现这个选项。 编译完成后就可以识别media keys了,现在来实现notify。安装xfce4-notifyd,可以实现右上角的半透明的通知。

再装上xfce4-volumed,当用media key来调节音量的时候会弹出相应的通知窗口,随声音的变化而变化。上个截图吧:



5. 最近安装的qt程序都出问题了,再安装qt程序也出现下面的错误:

beyond@beyond ~ $ sudo emerge -av goldendict 
密码: 

 * IMPORTANT: 1 news items need reading for repository 'gentoo-zh'. 
 * IMPORTANT: 6 news items need reading for repository 'gentoo'. 
 * Use eselect news to read news items. 


These are the packages that would be merged, in order: 

Calculating dependencies... done! 
[ebuild   R    ] app-text/goldendict-1.0.1  USE="-debug -kde" LINGUAS="-ar_SA -bg_BG -cs_CZ -de_DE -el_GR -it_IT -lt_LT -ru_RU -uk_UA -vi_VN -zh_CN" 0 kB 

Total: 1 package (1 reinstall), Size of downloads: 0 kB 

Would you like to merge these packages? [Yes/No] yes 

>>> Verifying ebuild manifests 

>>> Emerging (1 of 1) app-text/goldendict-1.0.1 
 * goldendict-1.0.1-src.tar.bz2 SHA256 SHA512 WHIRLPOOL size ;-) ...     [ ok ] 
>>> Unpacking source... 
>>> Unpacking goldendict-1.0.1-src.tar.bz2 to /var/tmp/portage/app-text/goldendict-1.0.1/work 
>>> Source unpacked in /var/tmp/portage/app-text/goldendict-1.0.1/work 
>>> Preparing source in /var/tmp/portage/app-text/goldendict-1.0.1/work ... 
 * Applying goldendict-1.0.1-gcc-4.7.patch ...                           [ ok ] 
>>> Source prepared. 
>>> Configuring source in /var/tmp/portage/app-text/goldendict-1.0.1/work ... 
 * Running qmake ... 
QMAKESPEC has not been set, so configuration cannot be deduced. 
Error processing project file: goldendict.pro                            [ !! ] 

 * Running qmake has failed! (see above for details) 
 * This shouldn't happen - please send a bug report to https://bugs.gentoo.org/ 

 * ERROR: app-text/goldendict-1.0.1::gentoo failed (configure phase): 
 *   eqmake4 failed 
 * 
 * Call stack: 
 *     ebuild.sh, line   93:  Called src_configure 
 *   environment, line 2232:  Called eqmake4 
 *   environment, line  973:  Called die 
 * The specific snippet of code: 
 *           die "eqmake4 failed"; 
 * 
 * If you need support, post the output of `emerge --info '=app-text/goldendict-1.0.1::gentoo'`, 
 * the complete build log and the output of `emerge -pqv '=app-text/goldendict-1.0.1::gentoo'`. 
 * The complete build log is located at '/var/tmp/portage/app-text/goldendict-1.0.1/temp/build.log'. 
 * The ebuild environment file is located at '/var/tmp/portage/app-text/goldendict-1.0.1/temp/environment'. 
 * Working directory: '/var/tmp/portage/app-text/goldendict-1.0.1/work' 
 * S: '/var/tmp/portage/app-text/goldendict-1.0.1/work' 

>>> Failed to emerge app-text/goldendict-1.0.1, Log file: 

>>>  '/var/tmp/portage/app-text/goldendict-1.0.1/temp/build.log' 

 * Messages for package app-text/goldendict-1.0.1: 

 * Running qmake has failed! (see above for details) 
 * This shouldn't happen - please send a bug report to https://bugs.gentoo.org/ 
 * ERROR: app-text/goldendict-1.0.1::gentoo failed (configure phase): 
 *   eqmake4 failed 
 * 
 * Call stack: 
 *     ebuild.sh, line   93:  Called src_configure 
 *   environment, line 2232:  Called eqmake4 
 *   environment, line  973:  Called die 
 * The specific snippet of code: 
 *           die "eqmake4 failed"; 
 * 
 * If you need support, post the output of `emerge --info '=app-text/goldendict-1.0.1::gentoo'`, 
 * the complete build log and the output of `emerge -pqv '=app-text/goldendict-1.0.1::gentoo'`. 
 * The complete build log is located at '/var/tmp/portage/app-text/goldendict-1.0.1/temp/build.log'. 
 * The ebuild environment file is located at '/var/tmp/portage/app-text/goldendict-1.0.1/temp/environment'. 
 * Working directory: '/var/tmp/portage/app-text/goldendict-1.0.1/work' 
 * S: '/var/tmp/portage/app-text/goldendict-1.0.1/work' 

错误就是
QMAKESPEC has not been set, so configuration cannot be deduced. 
Error processing project file: goldendict.pro                            [ !! ] 


然后再网上搜索原因说是没有设置QMAKESPEC,用qmake -query查看了下:

beyond@beyond ~ $ qmake -query 
QMAKESPEC://mkspecs 
QT_INSTALL_PREFIX:/ 
QT_INSTALL_DATA:/ 
QT_INSTALL_DOCS:/doc 
QT_INSTALL_HEADERS:/include 
QT_INSTALL_LIBS:/lib 
QT_INSTALL_BINS:/bin 
QT_INSTALL_PLUGINS:/fonts 
QT_INSTALL_IMPORTS:/imports 
QT_INSTALL_TRANSLATIONS:/translations 
QT_INSTALL_CONFIGURATION:/ 
QT_INSTALL_EXAMPLES:/ 
QT_INSTALL_DEMOS:/ 
QMAKE_MKSPECS://mkspecs 
QMAKE_VERSION:2.01a 
QT_VERSION:4.8.5 

在gentoo论坛上提问,别人给出他的正确的是:

acoswt@PrimaPratica ~ $ qmake -query 
QT_INSTALL_PREFIX:/usr 
QT_INSTALL_DATA:/usr/share/qt4 
QT_INSTALL_DOCS:/usr/share/doc/qt-4.8.5 
QT_INSTALL_HEADERS:/usr/include/qt4 
QT_INSTALL_LIBS:/usr/lib64/qt4 
QT_INSTALL_BINS:/usr/bin 
QT_INSTALL_PLUGINS:/usr/lib64/qt4/plugins 
QT_INSTALL_IMPORTS:/usr/lib64/qt4/imports 
QT_INSTALL_TRANSLATIONS:/usr/share/qt4/translations 
QT_INSTALL_CONFIGURATION:/etc/qt4 
QT_INSTALL_EXAMPLES:/usr/share/qt4/examples 
QT_INSTALL_DEMOS:/usr/share/qt4/demos 
QMAKE_MKSPECS:/usr/share/qt4/mkspecs 
QMAKE_VERSION:2.01a 
QT_VERSION:4.8.5

从上面可以看出应该是路径问题了,可是网上说直接export QMAKESPEC=/usr/share/qt4/mkspecs/linux-g++ ,就可以了,我试了好多次都有问题。看来还是要找其它的原因了。

想想就直接locate qt.conf

beyond@beyond ~ $ locate qt.conf
/usr/bin/qt.conf
/usr/portage/games-roguelike/slashem/files/0.0.7E7/qt.configure

真正的问题就出在qt.conf,qmake的路径从这里加载的,所以都出错了。想想是安装115的软件的时候直接复制这个文件到/usr/bin的,直接删除这个文件,就一切正常了,不过115不能用了。反正不怎么用,就直接也把115也删除了。

6. 最近全面升级了系统,命令如下:

# emerge --update --deep --newuse world
# emerge --depclean
# revdep-rebuild

7. 升级完后还有一些问题的,fcitx没有五笔了,原来是要加use=table,就可以了。直接在 /etc/portage/package.use加上:

 app-i18n/fcitx table

8. 编译新内核后要生成相应的grub2启动项配置。用下面的命令:

beyond@beyond / $ sudo grub2-mkconfig -o /boot/grub/grub.cfg 
密码:
Generating grub.cfg ...
Found linux image: /boot/kernel-genkernel-x86_64-3.12.20-gentoo
Found initrd image: /boot/initramfs-genkernel-x86_64-3.12.20-gentoo
Found linux image: /boot/kernel-genkernel-x86_64-3.12.13-gentoo
Found initrd image: /boot/initramfs-genkernel-x86_64-3.12.13-gentoo
Found linux image: /boot/kernel-genkernel-x86_64-3.10.25-gentoo
Found initrd image: /boot/initramfs-genkernel-x86_64-3.10.25-gentoo
done

9. 安装firefox-bin与thunderbird-bin的时候会自动用英文编译,可以选择相应的语言。我肯定是选简体中文了。

方法一:

beyond@beyond ~ $ sudo LINGUAS="zh_CN" emerge -av thunderbird-bin
这种方法就是一次性的,下次编译的时候还要写上LINGUAS="zh_CN"


方法二:在/etc/portage/make.conf中加上

LINGUAS="zh_CN en"
这样编译软件只要支持中文都会以中文编译,这个是全局性质的


方法三:介绍个局部性质的,直接在/etc/portage/package.use中加上

mail-client/thunderbird-bin linguas_zh_CN
这样只会针对thunderbird-bin,其它的软件不会


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章