May 4, 2018
在虚拟机里跑资源占用超低的Linux桌面环境i3
现在的电脑是SurfacePro3,如果安装了Linux桌面环境,如Gnome或者xfce等,跑虚拟机会很吃力了,但是不是不能跑,重点是优化后把Linux的资源降下来非常流畅,而且还可以使用桌面应用。i3是个比xfce4更加轻量级的桌面管理器,Tiling的桌面可以保证所有打开的窗口都平铺满桌面,然后通过快捷键和鼠标切换应用,这边只讲述下我的安装过程,以及如何安装Vmware插件以支持剪切板,自动缩放虚拟机分辨率等:
首先要安装i3:
$ sudo yum install i3 # centos $ sudo apt install i3 # debian & ubuntu $ sudo pacman -S i3 # archlinux
备份并修改i3的配置文件,可以参考我的github,或者直接下载替换:
cp ~/.config/i3/config ~/.config/i3/config.bak wget https://raw.githubusercontent.com/gccpacman/vm-i3wm-config/master/config cp config ~/.config/i3/config
因为我的是高分屏,默认vmware不支持,但是可以修改i3的dpi让文字和界面看起来舒服:
echo "Xft.dpi: 118" >> ~/.Xresources
安装lightdm/gdm后,,设置session成i3,并且因为是虚拟机不想每次开机都输入用户名密码,可以设置自动登陆:
4.1
lightdm
修改/etc/lightdm/lightdm.conf
:[SeatDefaults] autologin-user= {{your username}} autologin-user-timeout=0 user-session=i3
4.2
gdm
修改/etc/gdm3/daemon.conf
:[daemon] AutomaticLoginEnable=true AutomaticLogin=teotfw
4.3 或者直接disable x-manager, 用startx方式启动
sudo systemctl set-default multi-user.target echo "exec i3" > ~/.xinitrc startx # reboot并login后执行
根据你的系统安装open-vm-tools
January 6, 2016
Linux创建自定义的应用程序启动器
eclipse在linux下,下载以后不需要安装,直接在目录下执行.\eclipse就可以运行了,不过同时,每次都要切换到该目录去执行eclipse似乎也比较麻烦。 又没有办法在应用程序菜单里找到,即使是gnome下,按super然后全局搜索,也找到这个。
不过好在linux是自由的系统,自己建一个应用程序的启动器一点问题都没有。
比如我的eclipse装在/opt/eclipse-jee/
下,怎么新建一个启动器呢?
所有用户共享的应用启动器的目录是/usr/share/applications/
目录,那么用户自定义的启动器目录在哪里?找了下用户目录下的.config/,没有找到,只好去百度google了一下,原来启动器是在.local/下,具体是.local/share/applications
.
新建一个eclipse.desktop的文件,然后输入以下内容:
[Desktop Entry]
Encoding=UTF-8
Name=Eclipse J2ee
Comment=Official desktop version of Telegram messaging app
Exec=/opt/eclipse-jee/eclipse
Icon=/opt/eclipse-jee/icon.xpm
Type=Application
Categories=Development;
Categories就是类目,可以输入多个。编辑保存,不需要再做任何操作,eclipse就可以搜索到了。
参考: How do you create a custom application launcher in Gnome Shell?
January 5, 2016
ArchLinux将nvidia driver替换成开源的nouveau解决显卡驱动问题
昨天还装完arch兴高采烈,今天就差点放弃整个系统,罪魁祸首就是当年被linus喷了的nvidia.
Archlinux装了使用nvidia驱动,一开始发现根本就没有加载,装了和没装没啥区别,但是跑的好好的阿跑的好好的,结果不小心手贱点了nvidia-xconfig
的应用,莫名其妙的起不来了。(这个原因我想了半天才想出来,不然我实在是无力吐槽他妈跑了一天多好好的什么也没干突然就起步来的情况,一度怀疑是显卡硬件坏了)
于是抢救三个多小时,/var/log/xorg.0.log
里的报错也莫名其妙,比如:
not detect device nvidia, no screen found.
简直是日到狗。于是想着解决办法应该是彻底不要装nvidia的驱动, 用intel的集成显卡,照例来说应该也ok阿,于是直接删掉驱动:
pacman -R nvidia nvidia-utils
然后reboot, 没想到发生的事情更加奇葩了,连命令行就出不来了,直接黑屏了我草。
心里十万个草尼马,还好安装过arch的人毕竟还是知道有个arch-chroot, 放入安装介质(我的是u盘),重启, mount各种好盘:
mount /dev/sda2 mnt
arch-chroot /mnt /bin/bash
然后咋办呢,突然在arch的官方教程里出现了一个词: nouveau(还好我还有台电脑阿,这时候如果只有一台电脑要在手机上查资料的话。。。我tm会不会放弃linux直接装个windows都不知道,我就是对自己那么没信心阿)
nouveau是个什么呢,简单的解释就是个nvidia的开源驱动。。。虽然还不是对其了解,但是还是对开源两个字报有信心,而且也是死马当活马医了。。。于是:
pacman -S xf86-video-nouveau
据说还有什么3d的实验特性支持, (还可以pacman -S mesa mesa-libg1
, 额这好像和我目前十万火急的状态没啥关系)
然后咋办呢。。。nouveau已经装好了,nvidia也已经卸载了,这样就ok了么,好像还不行
lsmod | gerp nvidia
dmesg | grep nvidia
两个命令显示,nouveau还没有work,系统还是在用nvidia,继续查arch wiki 的 nouveau页,删除mod的方法是
modprobe -r nvidia
然后加入nouveau的mod:
modprobe nouveau
先就这样吧,从安装盘里推出来
umount -R /mnt
然后reboot,重启试试, 尝下startx还是不幸, 并且我们在dmesg | grep nouveau里看到了nouveau报错。。。额什么情况:
January 5, 2016
Linux搭建VNC服务器
服务器端:
1)在终端安装tigervnc:
$ sudo apt-get install tigervnc
2)启动tigervnc
$ vncserver
提示你输入vnc的密码:
enter your password (length 8)
然后终端会显示New ‘X’ desktop is kodi-kodibuntu:1
3)(可选)如果需要改变桌面,例如不想用xvnc,可以编辑$HOME/.vnc/xstartup
的内容。具体操作暂略。
4)(可选)如果需要开机启动,一个是用supervisor,另外就是在/etc/systemd/system/下手动写一个服务。具体操作暂略。
在客户端:
安装tigervnc:
$ sudo pacman -S tigervnc (archlinux)
或者
$ sudo apt-get install tigervnc (ubuntu/debian)
直接运行vncviewer或者在终端输入:
$ vncviewer
端口默认是5900+n,根据New ‘X’ desktop is kodi-kodibuntu:1, 因为服务器上的提示是:1, 所以端口就是5901
输入你的ip地址是端口: 192.168.1.xxx:5901
会提示让你输入密码:
进去后就是vnc的桌面了, 在xubuntu下测试,不需要配置服务器上的$HOME/.vnc/xstartup
就可以直接进入xfce4桌面
更正,采用默认的.vnc/xstartup配置虽然能用,但是会有一些样式问题,比如图标无法显示。所以还是改一下好了:
$ cp ~/.vnc/xstartup ~/.vnc/xstartup.bak
$ vim ~/.vnv/xstartup
删除所有的内容,重启vncserver
$ vncserver -kill :1
$ vncserver
进去以后基本商就是和你直接进入桌面一样的xfce了。