拾豆新闻
  • 文章列表
  • 联系我

文章列表

May 4, 2018

在虚拟机里跑资源占用超低的Linux桌面环境i3

现在的电脑是SurfacePro3,如果安装了Linux桌面环境,如Gnome或者xfce等,跑虚拟机会很吃力了,但是不是不能跑,重点是优化后把Linux的资源降下来非常流畅,而且还可以使用桌面应用。i3是个比xfce4更加轻量级的桌面管理器,Tiling的桌面可以保证所有打开的窗口都平铺满桌面,然后通过快捷键和鼠标切换应用,这边只讲述下我的安装过程,以及如何安装Vmware插件以支持剪切板,自动缩放虚拟机分辨率等:

  1. 首先要安装i3:

     $ sudo yum install i3   # centos
     $ sudo apt install i3   # debian & ubuntu
     $ sudo pacman -S i3     # archlinux
    
  2. 备份并修改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
    
  3. 因为我的是高分屏,默认vmware不支持,但是可以修改i3的dpi让文字和界面看起来舒服:

     echo "Xft.dpi: 118" >> ~/.Xresources
    
  4. 安装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后执行
    
  5. 根据你的系统安装open-vm-tools

February 1, 2018

Windows安装MSys32配置Git等开发环境并集成VSCode

在不久之前发现了Msys2,基于Cygwin但是却又有一个让我觉得无比美好的包管理器Pacman(和Arch Linux的一样),于是决定试试。但是真的用于Windows的终端还有很多麻烦的地方要解决,主要是以下几点:

  1. Git的ssh_keygen配置,你和windows自己的CMD里的ssh_keygen能否共用
  2. Msys用的换行符是和Linux一样的LF,而Windows的是CRLF
  3. Python能不能直接用Windows的Python而不用模拟Unix环境的Python(有很多的bug)
  4. 能否和我目前用的最多的VSCode编辑器无缝集成

经过一段时间的研究,每个问题都得到了很好的解决,目前来讲非常的完美,在这里分享一下:

  1. 下载并安装 Msys2

  2. 安装和配置 git, 配置在windows上check出crlf格式文本,提交lf格式:

    2.1 安装git:

     $ pacman --needed -S bash pacman msys2-runtime  git 
    

    2.2 修改git处理回车的方式:

     $ git config --global core.autocrlf true  
    
  3. 修改Home目录路径, Msys2默认的Home目录是Mingw64的/home/username, 但是我希望使用windows的Home目录/c/Users/username. 方法是编辑/etc/nsswitch.conf, 并修改

     $ db_home: windows
    
  4. Install Python & Pip (直接用windows的Python就好,用Mingw64的Python反而可能会有很多问题)

  5. 让VSCode里的继承终端(VSCode Integrated Terminal)使用Msys2,在VSCode的settings里加入以下内容:

	{
	    "terminal.integrated.shell.windows": "C:\\msys64\\usr\\bin\\bash.exe",
	    "terminal.integrated.shellArgs.windows": [
		"--login",
	    ],
	    "terminal.integrated.env.windows": {
		"CHERE_INVOKING": "1",
		"MSYSTEM": "MINGW64",
	"MSYS2_PATH_TYPE": "inherit",
	    },
	} 

参考:

https://getpocket.com/a/read/1169705865

December 20, 2017

用Calibre Server创建个人在线电子书阅读网站

DigitalOcean上有在ubuntu 14.04上安装calibre server的教程——How To Create a Calibre Ebook Server on Ubuntu 14.04, 但是已经过时了,一是calibre-server的参数已经改变,二是创建系统服务的方式已经不适用之后的Ubuntu版本,我的服务器是16.04,因此需要把/etc/init/里的脚本改写成systemctl脚本

改写的方法参考了:https://wiki.ubuntu.com/SystemdForUpstartUsers

用户名和密码也不再支持digitalocean里的明文的形式, 官方文档里看到有enable-auth和userdb, 看来是出于安全性进行了改进, userdb指定最简单的sqlite数据库,并按照提示添加用户。 最终的版本是:

  [Unit]
  Description=Job that runs the calibre daemon

  [Service]
  Environment=LIBRARY_PATH=/home/huyunyan_cn/calibre-library
  Environment=PORT=8080
  Environment=USERDB=/home/huyunyan_cn/calibre-library/users.sqlite
  ExecStart=/usr/bin/calibre-server $LIBRARY_PATH \
                                   --port $PORT --enable-auth --userdb $USERDB
  [Install]
  WantedBy=multi-user.target

用户名和密码需要通过另一个参数--manage-users启动server后手动配置:

sudo calibre-server /home/huyunyan_cn/calibre-library/ --port 8080 --manage-users --userdb /home/huyunyan_cn/calibre-library/users.sqlite

这样就完成了,访问域名后会提示输入用户名和密码,这样你自己可以在任何设备上访问,又不用担心别人来访问你的电子书。

TODO:

  1. 自动刷新书库(–auto-reload这个参数已经不能用,需要通过restart service来实现)
  2. 远程同步书籍,可以从本地直接上传书到server
  • ««
  • «
  • 2
  • 3
  • 4
  • 5
  • 6
  • »
  • »»
© 拾豆新闻 2025