就像是看自己孩子的成长一样,看自己的系统一点点完善起来。
配置:xps15 9550 4k屏
桌面:xfce4
写在前面的计划
- 学着备份系统
- 建一个个人网站
- 在git上面参与一个开源的项目
---22/2/2017---
今日安装
Inkscape 用于ps图片,不知如何插入latex文档,有些郁闷。
经验教训
屏幕随鼠标而动,屏幕分辨率降低。当前屏幕大小大于原显示器大小。鼠标挪到左上方,左上方的东西会出现右下部分消失。这时候,试一下Alt+鼠标滚轮。你会明白是为什么。
联wifi有很多种方法:netctl(wifi-menu), networkmanager, iw等等,记着不要混用,否则会有意想不到的麻烦。个人喜欢使用iw(https://wiki.archlinux.org/index.php/Wireless_network_configuration_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)
使用这种方法时,需要注意:
1. 很多人在装机时使用的大都是netctl 或者 networkmanager并给他们设置了开机的自动启动,在设置前,请禁用networkmanager.
sudo systemctl stop NetworkManager
2. 需要提前装两个包 iw 和 dhcpcd. (详细走到这一步的小伙伴肯定已经可以在某些情况下连上网络啦)
我的步骤
sudo ip link set wlp2s0 up # 打开接口,有些人的接口可能不是wlp2s0而是wlan0,先用ifconfig查看一下咯 sudo iw wlp2s0 connect -w Tsinghua #注意官方文档没有-w,我连接的是开放wifi,故无需写上密码 dhclient -r wlp2s0 dhclient wlp2s0
3. 之前遇到了一些奇怪的问题。sudo wifi menu有时无法解决wpa_supplicant 的问题,一般都需要通过wpa_supplicant 来配,配置文件要提前写好
4. wpa_cli status 我通过wifi-menu连上之后wpa_cli status 显示的是 interface: p2p-dev-wlp2s0, wpa_state=DISCONNECTED, p2p_device_address=, address,k uuid. 但iw 配置出来得是 interface 'wlp2s0', wpa_state=COMPLETED
5. 昨天belmont连不上,于是ln -s /usr/lib/systemd/system/NetworkManager.service /usr/lib/systemd/system/dbus-org.freedesktop.NetworkManager.service就好了,然后之后就跪了
6. 对于already up的事情,有人给出了这种解决方案
ip link set wlan0 down
netctl start profile
我试了没用
7. 也有提示,说
[ 30.770142] brcmfmac: brcmf_p2p_create_p2pdev: set p2p_disc error
然后也不知道怎么改,最后似乎是用iw 之后,它自动ln了两个文件, iw就能用了,但此时只能ping 8.8.8.8,最后还是用的是wifi-menu.
8. Networkmanager 和 啥是冲突的,
我反正是sudo systemctl stop NetworkManger.service
sudo enable system-resolved.service (这一步导致了两个ln,也就是7中描述的事情)
---26/2/2017---
时间过得咋这么快呢
由于要连服务器的Linux,因此,下载了pycharm的专业版,之后要破解它!
下好了pycharm,由于担心丢失或操作不当需要重新下载,就准备在移动硬盘中备份一次,但是却遇到了问题
ntfs格式的read only解决方案
之前买了一块WD Elements的硬盘,挂到archlinux上发现 read only.
fdisk -l 看了一下,显示
Size Type: Microsoft basic data
之后test的命令:sudo ntfsfix /dev/sda1 使用ntfsfix 修复不明白的错误
另外,检查一个文件有没有损坏,请使
硬盘的格式ntfs,可以通过lsblk -f 查看。
看wiki发现需要使用最新的包udev,据说是为了"Getting a kernel that supports usb_storage" 安上之后几乎没有用,后来发现:
archlinux采用了udisks2来负责挂载分区,默认情况下支持ntfs挂载,但是只是可读不支持写操作。
解决方法:
安装ntfs-3g
安装好ntfs-3g后,udisks2会默认调用ntfs-3g的mount.ntfs来挂在ntfs格式了。这样挂载的ntfs格式的分区就能够有写权限了。
转自:http://blog.csdn.NET/cnsword/article/details/8445920
之后一切恢复正常。
pycharm的安装
网上有教程,我将其安装到了/usr/local/下面,因为我的matlab也安在那里,只知道windows大都安在program files下面,不知arch是怎么搞的。
包含所有内容:http://www.jianshu.com/p/042324342bf4
包含注册码:http://idea.lanyus.com/
非常好用喔。有效期至17年11月23日。
配置Tensorflow
http://blog.youkuaiyun.com/bigconvience/article/details/8782668
makepkg是一个软件包自动编译脚本。使用时需要一个 Unix 环境和 PKGBUILD.
Arch用户软件仓库(Arch User Repository,AUR)是为用户而建、由用户主导的Arch软件仓库。AUR中的软件包以软件包生成脚本(PKGBUILD)的形式提供,用户自己通过makepkg生成包,再由pacman安装。创建AUR的初衷是方便用户维护和分享新软件包,并由官方定期从中挑选软件包进入community仓库。本文介绍用户访问和使用AUR的方法。
而Yaourt相当于给pacman和AUR之间架起了一座桥梁,具体的安装步骤可以参考http://blog.youkuaiyun.com/baidu_16051437/article/details/50459171
Arch 有官方的cuda
sudo pacman -S cuda
resolving dependencies...
looking for conflicting packages...
Packages (3) gcc5-5.4.0-1 opencl-nvidia-378.13-1 cuda-8.0.44-3
大概安了这三个包吧,看看这个依赖情况。
youtube上面上面抄下来的命令(不全)
conda install conda- tensorflow
jupyter notebook
optirun [OPTION]... command [command options...]
Run an application using the discrete video card.
呃,配显卡才发现,lspci -vnn | grep 能找到VGA并观测其状态http://linux.51yip.com/search/lspci
lspci可以看见各种硬件(list Peripheral Component Interconnect(外围设备互联))
比如我看见了我的N卡,
3D controller: NVIDIA Corporation GM107M [GeForce GTX 960M] (rev ff)
呃 ,然后运行了一下optirun -vv glxgears
样子嘛就是几个齿轮转动的样子
这个glxgears所在的包叫mesa-demos
3D controller: NVIDIA Corporation GM107M [GeForce GTX 960M] (rev a2)
Revision.
Different versions of the same model. Could mean just a different firmware version, but could mean a completely different chipset.
等我关了视频,发现后面又变成了rev ff
之所以会测不到nvidia-smi,是因为开了bumblebee。
前些天装pytorch和tensorflow一直没有成功,结果用anaconda一下就好了,感觉挺神奇的...
结果今天装torch又出了bug,后来发现是cuda版本较低所致,虽然都是8.0,还是有一个旧的函数库233.
今天学到了画图的知识,先把代码记下来
# string format
label = "./{}_{}pt_{}dstep_{}gstep_{}mbs".format(datetime.now(),npt, d_steps, g_steps, minibatch_size)
#draw
f = plt.figure()
ax = f.add_subplot(111)
db_x = np.linspace(-sample_range, sample_range, sample_points)
p_x = np.linspace(-sample_range, sample_range, sample_points)
line_db, = ax.plot(db_x, db_x, label='decision boundary')
ax.set_ylim(0, 1)
line_pd, = ax.plot(p_x, p_x, label='real data')
line_pg, = ax.plot(p_x, p_x, label='generated data')
# update
for ****
line_db.set_xdata(db_x)
line_pd.set_xdata(p_x)
line_pg.set_xdata(p_x)
line_db.set_ydata(db)
line_pd.set_ydata(pd)
line_pg.set_ydata(pg)
ax.legend()
f.canvas.draw()
f.savefig("./{}/{}.png".format(label,iter))
f.show()
以及如果要画新图的话:
pg, _ = np.histogram(pg_list, bins=bins, density=True) # f2 = plt.figure() # ax2 = plt.axes() # ax2.hist(pg_list,bins = 1000) # f2.show()
其实还是不太懂句柄是怎么搞的啊。
存视频存视频。