重启之前 从使用archlinux起快三年了吧,安装步骤基本没什么变化,而这次应该是史无前例。怎么说呢,arch变的更好了,因为从安装上就能看出arch更加简化其基础系统了,这也是arch的初衷,给用户最大的选择。这一次连内核都是可选项目了,firmware,dhcpcd,nano等许多都是要自己手动选择的。不过这次我的安装并不是那么顺利,问题可能在于显卡驱动吧,或者我少安装了一些必要的软件吗?然后加上xmonad这次也在升级,导致我的topbar的配置也不起作用了。两个事情叠在一起真的是有点头疼。
在基础系统的安装方面 按照archwiki上的步骤就足够了,为什么不写,因为发现步骤变了,所以没有一个特定的方法。
1 pacman -S wpa_supplicant dialog netctl dhcpcd
在安装dhcpcd的时候会有一个选择项,需要选择默认的,否则连接网络会出错
连接网咯: 这里用到了dhcpcd来获取动态ip,同时使用了netctl(wifi-menu是其中一个组件)网络管理器,netctl同样可以设置静态ip(没有选择标配的NetworkManager大块头,因为我一个用WM的安装它没多大必要。当然了如果是安装DE的话,这个还是标配)
连接成功后,会在/etc/netctl
目录下生成对应的连接配置文件。
1 2 cd /etc/netctl netctl enable 连接的配置文件名 #这里需要写文件名,而不是路径
这样就可以自动连接了。
设置静态ip: 同样使用netctl网络管理器来设置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 # netctl网络管理软件的example目录下包括了配置文件模板,复制过去再修改即可 sudo cp /etc/netctl/examples/wireless-wpa-static /etc/netctl # 修改为如下即可,需要注意的地方是ip后面必须接一个/24,否则可能连接不上 Description='A simple WPA encrypted wireless connection using a static IP' Interface=wlo1 Connection=wireless Security=wpa ESSID='wifi名字' Key='thepasswd' IP=static Address='192.168.0.104/24' Gateway='192.168.0.1' DNS=('114.114.114.114') # 修改完配置文件之后就是需要让它生效并自动启动了,由于之前已经配置了自动启动另一个wifi连接,所以需要将另外一个禁用,否则会报错 netctl disable 之前的wifi配置文件名 netctl enable wireless-wpa-static # 然后可以重启服务,或者重启电脑 netctl restart wireless-wpa-static
重启之后 由于很多东西base都不提供了,连man手册都没有 1 2 3 4 sudo pacman -S vim #喜欢的编辑器,vi不默认提供,反正我也不用 sudo pacman -S man #安装了才能用man命令 sudo pacman -S sudo #安装了才能用sudo命令 sudo pacman -S fish #shell,尝试这个,不按照zsh了
将.vimrc
配置文件复制到~/下,其它扩展复制到~/.vim
下
fish的配置,基于网页的配置
用了几天的fish之后发现还是zsh比较适合我,主要原因就是fish的shell语法和bash,zsh这些差异太大了,而我还是用通用的吧,所以还是用zsh了。
1 sudo pacman -S zsh oh-my-zsh-git
修改grub theme 可以去网上下载gnomelook.org,或者安装本地已经下载好的,主题名字:arch-silence-master
1 2 3 4 5 6 7 unzip arch-silence-master.zip #解压 sudo mv arch-silence-master /boot/grub/theme/ #移动到theme目录下 sudo vim /etc/default/grub #配置文件位置 # 修改为如下: GRUB_THEME="/boot/grub/themes/arch-silence-master/theme/theme.txt" # 上面的配置文件修改好了就可以使用grub-mkconfig命令生成gurb.cfg配置文件 sudo grub-mkcofig -o /boot/grub/grub.cfg
开启boot message 现在grub默认关闭了boot message,启动之后就看不到加载的一些信息,可以开启它
1 2 3 4 5 6 7 8 # 同样是在gurb的配置文件中修改 sudo vim /etc/default/grub # 默认设置为了这个 GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet" # 将quiet去掉即可,loglevel分为0-7个等级,7是最为详细的debug信息 GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3" # 最后重新生成配置文件(其实也可以直接在配置文件中改,但是下次生成的时候会覆盖修改的地方) sudo grub-mkconfig -o /boot/grub/grub.cfg
添加用户,加入组 1 2 3 groupadd sudo #添加sudo组 vim /etc/sudoers #取消sudo前面的注释 useradd -m -G sudo -s /usr/bin/fish narcissus
安装显示服务 1 2 3 4 5 6 7 sudo pacman -S xorg-server #安装xorg sudo pacman -S xf86-video-vesa #发现intel或者invidia都很卡,只能用这个 sudo pacman -S pulseaudio pulseaudio-alsa #声音驱动 sudo pacman -S xorg-xinit #安装了才能用startx进入GUI sudo pacman -S xorg-xbacklight #安装了才能调节屏幕亮度,但是我发现这个我也用不了了 # 手动调节背光 vim /sys/class/backlight/intel_backlight
后来发现好多东西都缺,所以干脆一次性把xorg全安装了(全部安装也才100M不到)
安装窗口管理器 简简单单的就好,不需要桌面环境,gnome虽然豪华,但是耗资源
1 2 3 4 5 # 我发现现在这个也有问题,之前的配置有问题了,不知道是不是因为升级了版本0.15的原因 sudo pacman -S xmonad xmonad-contrib sudo pacman -S xterm #xmonad默认使用xterm,需要安装 # 将xterm的配置文件.Xresources复制到~/下 xrdb ~/.Xresources #使配置生效
复制xmonad配置文件然后编译
1 2 .xmonad/xmonad.hs #配置文件位置 xmonad --recompile
设置登录xmond
1 2 cp /etc/X11/xinit/xinitrc ~/.xinitrc #复制配置文件 exec xmonad #添加启动xmonad
进入桌面环境
pacman下载命令结果颜色显示 1 sudo vim /etc/pacman.conf #uncomment color,让pacman搜索出来的结果显示颜色
添加镜像服务器 1 2 3 # [archlinuxcn] Server = https://mirrors.163.com/archlinux-cn/$arch
安装keyring
1 sudo pacman -S archlinuxcn-keyring
安装aur下载软件yay
下载常用软件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 sudo pacman -S screenfetch #查看系统参数 sudo pacman -S htop #资源管理器 sudo pacman -S feh #查看图片,设置桌面背景图 sudo pacman -S ranger #终端文件浏览器,图片是基于w3m显示的 sudo pacman -S w3m #终端浏览器,安装这个后ranger才能显示图片 sudo pacman -S typora #markdown编辑器 sudo pacman -S firefox #浏览器 sudo pacman -S wqy-microhei #浏览器显示中文 sudo pacman -S openssh #使用ssh远程连接服务器 sudo pacman -S mplayer #视频软件 sudo pacman -S baidupcs-go #百度云终端下载软件,不限速 sudo pacman -S netease-cloud-music #网易云播放器 sudo pacman -S ttf-iosevka #安装字体 sudo pacman -S flameshot #安装截图软件 sudo pacman -S unzip #解压软件zip格式 sudo pacman -S dbeaver #数据库sql
1 2 3 4 5 6 7 8 sudo pacman -S obs-studio #录屏软件 libfdk-aac: FDK AAC codec support libxcomposite: XComposite capture support [installed] libva-intel-driver: hardware encoding libva-mesa-driver: hardware encoding luajit: scripting support python: scripting support [installed] vlc: VLC Media Source support
安装输入法: 安装google拼音输入 发现搜狗输入法太矫情,明明就是按照文档步骤走的,可是总有点问题,所以安装google输入法了
1 sudo pacman -S fcitx fcitx-configtool fcitx-im fcitx-googlepinyin
添加配置文件,这个文件很重要,如果没有它,那么在terminal中用不了中文输入(包括vim中)
1 2 3 4 vim ~/.pam_environment GTK_IM_MODULE=fcitx QT_IM_MODULE=fcitx XMODIFIERS=@im=fcitx
添加启动命令
1 2 vim ~/.xinitrc fcitx >/dev/null 2>&1 &
还是搜狗输入法好用啊 我好像打脸了,用了几天的google输入法,又想念搜狗输入法的联想和记忆输入了。不是搜狗输入法矫情,是我的问题,我承认是我的问题:)
这也是第一次发现wiki需要更新了啊,在关于汉语输入法这里真的需要更新一下了,因为发现fcitx-qt4被移出了fcitx-im包。同时fcitx被这个fcitx-lilydjwg-git取代了。
1 2 3 4 5 6 # 安装wiki上说的安装fcitx-im就应该包含qt4的,其实之前安装的时候本来就又qt4的,只是现在没了 narcissus ~> sudo pacman -S fcitx-im :: There are 4 members in group fcitx-im: :: Repository community 1) fcitx 2) fcitx-gtk2 3) fcitx-gtk3 4) fcitx-qt5 # 之前没有注意看,确实少了一个qt4的包
所以从这里开始才是搜狗输入法的正确安装方法:
1 2 3 4 5 6 7 8 sudo pacman -S fcitx-gtk2 fcitx-gtk3 fcitx-qt4 fcitx-qt5 resolving dependencies... looking for conflicting packages... warning: removing 'fcitx-gtk2' from target list because it conflicts with 'fcitx-lilydjwg-git' warning: removing 'fcitx-gtk3' from target list because it conflicts with 'fcitx-lilydjwg-git' :: fcitx-lilydjwg-git and fcitx are in conflict. Remove fcitx? [y/N] y Packages (3) fcitx-4.2.9.7-1 [removal] fcitx-lilydjwg-git-2:4.2.9.7.20191107-1 fcitx-qt5-1.2.3-11
1 sudo pacman -S fcitx-sogoupinyin fcitx-configtool
然后打开fcitx-configtool将搜狗输入法加入
1 2 3 4 5 # 添加环境变量这里写到了本地,也可以写入系统环境变量/etc/environment vim ~/.pam_environment GTK_IM_MODULE=fcitx QT_IM_MODULE=fcitx XMODIFIERS=@im=fcitx
1 2 3 # 加入xinit启动 vim ~/.xinitrc fcitx >/dev/null 2>&1 &
最后需要退出登录或者重启一下,就可以使用搜狗输入法了
禁用触摸板,碍事 1 sudo pacman -S xorg-xinput
添加启动自动禁用
1 2 vim .xinitrc xinput disable 14
1 xinput enable 14 #想要启动也很简单
设置鼠标样式为指针 1 sudo pacman -S xorg-xsetroot
1 2 vim .xinitrc xsetroot -cursor_name left_ptr
挂载ntfs格式文件时让普通用户有权限 1 2 3 sudo pacman -S ntfs-3g #标准挂载ntfs格式文件 eg: sudo mount -t ntfs-3g /dev/sda1 /mnt
安装终端复制软件(剪切板) 1 2 3 4 sudo pacman -S xclip 使用eg: echo "some text" | xclip xclip -o
安装xmonad的其它必须配件 其实也不是必须配件,只是我的配置都是基于下面这些的,不安装有些功能都没有,所以也勉强算个三件套吧
状态栏:polybar 1 2 sudo pacman -S polybar sudo pacman -S awesome-terminal-fonts #安装这个之后才能显示图标
然后将配置文件复制到对应目录
添加自动启动
1 2 vim .xinitrc polybar mybar >/dev/null 2>&1 &
搜索软件
安装渐变及设置透明效果的软件
添加自动自动
1 2 vim .xinitrc compton >/dev/null 2>&1 &
使用shoadowsocks上google 安装shadowsocks代理以及proxychains协议转换
1 sudo pacman -S proxychains-ng shadowsocks
修改proxychains配置文件
1 2 3 sudo vim /etc/proxychains.conf # socks4 127.0.0.1 9050 socks5 127.0.0.1 1080 #添加
添加本地域名解析
1 2 3 4 sudo vim /etc/hosts # 添加 104.31.74.55 youneed.win 104.31.74.54 www.youneed.win
添加脚本变量路径
1 2 vim .xinitrc export PATH=$PATH:~/.local/bin
在~/.local/bin
下建立软链接,指向脚本
1 2 cd ~/.local/bin ln -s ~/Documents/script/shell/shadowshocks.sh sslink
运行脚本启动代理
1 2 proxychains firefox #浏览器代理 proxychains bash #终端代理
安装终端翻译软件 这两个脚本(manual,translate)都有声音,要使用amixer命令
1 2 sudo pacman -S alsa-utils #安装之后可以使用amixer命令 sudo pacman -S ydcv-rs-git
并将脚本translate
复制到~/.local/bin
下
1 2 3 4 5 6 7 8 9 10 11 12 # 脚本: # !/bin/bash # 翻译单词并拼读出来 # author:narcissus # 获取系统音量大小 volume=`amixer sget Master | tr -d '[a-zA-Z][:punct:]' | awk '{print $2}' | sed -n '$p'` # 通过在线语音拼读 mplayer -volume ${volume} http://dict.youdao.com/dictvoice\?audio\=${1} >/dev/null 2>&1 # 通过ydcv程序来对单词进行翻译 ydcv ${1}
安装网页下载工具,并实现终端在线命令
将脚本manual
复制到~/.local/bin
下
1 2 3 4 5 6 7 # 脚本: # !/bin/bash # ps:之前使用的是help 命名的,但是fish shell中的帮助信息为help 与这个脚本名冲突了,所以改为了manual curl cht.sh/${1} volume=`amixer sget Master | tr -d '[a-zA-Z][:punct:]' | awk '{print $2}' | sed -n '$p'` mplayer -volume ${volume} http://dict.youdao.com/dictvoice\?audio\=find%20following%20commands%20of%20${1} >/dev/null 2>&1
安装virtualbox 1 2 3 4 5 6 7 8 9 10 # 由于使用的是linux内核,所以选择virtualbox-host-modules-arch sudo pacman -S virtualbox virtualbox-host-modules-arch # 可选安装组件 Optional dependencies for virtualbox vde2: Virtual Distributed Ethernet support virtualbox-guest-iso: Guest Additions CD image virtualbox-ext-vnc: VNC server support virtualbox-sdk: Developer kit
在启动虚拟机之前,需要加载模块
启动virtualbox的几种方式:
1.GUI图形界面的启动,这也是大部分时候都在使用的方式,即运行virtualbox软件
2.命令启动,即使用命令无界面启动。后来发现这种方式启动和xmonad很搭,因为不会存在热键冲突的问题,那么xmonad中的所有窗口操作的快捷键依然有效。大爱啊
1 vboxsdl --startvm 'kali linux' #由于系统名字中有空格,所以要使用引号
3.同样是命令启动,但这种大多数时候是作为服务器使用的方式,即没有任何界面,只能通过ssh去连接主机(就像在windows中使用xshell一个意思)
1 vboxheadless -s 'kali linux'
蓝牙安装配置 1 2 3 # 安装软件: sudo pacman -S bluez #提供协议 sudo pacman -S bluez-utils #提供bluetoothctl组件
查看内核是否加载btusb驱动
没有的话手动加载
启动蓝牙服务
1 sudo systemctl start bluetooth.service
开始连接
1 2 3 4 5 6 7 bluetoothctl #控制界面 agent on power on #每次启动都要设置,因为关闭后会自动断电 scan on #扫描 pair 设备mac地址 #匹配 connect 设备mac地址 #连接 trust 设备mac地址 #加入信任
安装声音支持
1 sudo pacman -S pulseaudio-bluetooth
解决xorg问题 自从安装系统之后就发现一个问题,那就是xorg每次启动都要花个20多秒。所以首先是查看日志
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 # xorg的日志在家目录下 vim .local/share/xorg/Xorg.0.log # 然后查看EE报错的地方,发现每次都是在启动nouveau驱动的时候卡了20多秒,然后启动失败了 # 原因是我没有安装nouveau驱动,没有安装的原因就是安装之后启动倒是挺迅速的,但是退出xorg之后,或者想要关机的时候就会卡住。 # 我想为什么就不能让它不去检测这个驱动呢?终于google到了答案:就是强制让xorg使用intel显卡,而忽略n卡 cd /etc/X11/xorg.conf.d/ touch nonvidia.conf # 添加如下代码: Section "Device" Identifier "Intel Card" Driver "intel" EndSection Section "Device" Identifier "Nvidia Card" Driver "nouveau" EndSection Section "Screen" Identifier "My Screen" Device "Intel Card" EndSection
然后reboot,startx,果然一下子就打开了图形界面,虽然查看了一下日志,依然有报错,但是它直接跳过之后的等待以及检测了。以上介绍在wiki上也有讲,只是我不知道咋写啊。这也算是基本完成了系统安装以及之后的错误修复了吧!
安装系统之后博客迁移 安装必要软件
1 2 3 4 5 6 7 # 这些都要安装 sudo pacman -S git nodejs npm sudo npm install -g hexo-cli npm install --save hexo-deployer-git npm audit fix npm audit fix --force npm install hexo-generator-searchdb --save
当然我又安装了这个加密插件,结果我错了
1 npm install --save hexo-blog-encrypt #然后我哭了
搞了半天老是报错,什么tostring不能为空,我的密码明明有啊,查看了一下js配置文件,发现确实有password.tostring()这个
然后我用数字做密码试了一下不报错,但是我之前加密的文章全部没加密了?我觉得这是一个bug,至少前面应该做一下判断。所以去你的加密,索性不用了,然后一切都好了。
1 2 ssh-keygen cat ~/.ssh/id_rsa.pub
然后在github设置中将sshkey添加进去
当然这后面还有两步,如果没有这两步,推送的时候会提示的
1 2 git config --global user.email "2935549510@qq.com" git config --global user.name "narcissus"
再编译,推送
好了,先到这了。累了啊,心累。现在的生活怎么说呢,不能让自己停下来,要一直忙的没有心思去想,可是有时候还是在想做这一切又是为了什么呢?生活中总有很多事情让人觉得不满意,不顺心。之前总有一种错误的想法,那就是做it的人呢都是和我一样的,没有什么其它的想法,能想到的无非就是技术,最多还包括女朋友吧。可是我发现并不是这样,人呢,在哪里都是形形色色的。听别人说这个人有点凶,说话确实是这样,但是后来发现这人倒是挺直爽。另一个人看上去笑眯眯的很和蔼,可是却在背地里说你的坏话。人呢,果真是相处久了才了解啊。我应该是很冷的那种人,因为我相信用心感受到的比用眼睛更加真实。