记录本人使用电脑的习惯,及经验技巧,后续更新!
Linux系统
常见错误解决
Ubuntu 无线网卡
系统更新
错误:
E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)
E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?
解决:
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock
恢复默认桌面
sudo apt-get remove xfce4*
sudo apt-get remove xubuntu*
sudo apt-get autoremove
sudo apt-get clean
sudo dpkg-reconfigure lightdm
sudo apt-get install --reinstall light-locker
sudo gedit /etc/lightdm/lightdm.conf
输入 :
[SeatDefaults]
greeter-session=unity-greeter
一些奇怪的现象
Windows的原因
有时登陆Ubuntu系统,可能发现屏幕是黑的或紫色的,或者提示磁盘的问题,或者你自动挂载某盘后开不了机,那么很有可能是Windows 没有完全关机,开启了快速启动所致,关掉windows的快速启动,重启进入Ubuntu即可。
内核原因
开机发现Ubuntu分辨率变了,如果你装了CUDA,最近可能更新了Ubuntu,导致内核也更新了,解决方法是:开机选择 “Advanced for Ubuntu …” ——>然后选择一个低一点的内核版本启动即可,不谢呦。为了不必每次都选择,把新版本内核删掉即可,或者重装下cuda吧。
搭建服务器
FTP服务器
- 安装
sudo apt-get install vsftpd
- 启动
service vsftpd start
- 新建ftp目录
sudo mkdir /yourftpdir
- 新建用户test
sudo useradd -d /yourftpdir test
- 置密码
sudo passwd test
- 更改目录所有者及组
sudo chown share:share /yourftpdir
- 在
/etc/vsftpd.chroot_list
文件中添加可以访问ftp目录外其它目录的用户 - 修改
/etc/vsftpd.conf
文件:
打开注释 write_enable=YES
添加信息 userlist_file=/etc/vsftpd.chroot_list
添加信息 userlist_enable=YES
添加信息 userlist_deny=NO
- 重启
sudo /etc/init.d/vsftpd restart
- 更改权限
chmod 755 yourftpdir
,755
允许上传和下载,555
只允许下载 - 访问测试,终端:
ftp [你的PC机器的ip地址]
或 浏览器输入:ftp://your_ip
重启后发现,系统登录界面多了新建的用户,想想应该是用户shell设置的问题,于是禁用登录:
先修改 /etc/shells
文件,在其中添加 /usr/bin/nologin
, 然后,将FTP用户的shell设置为无登录模式(sudo usermod -s /usr/bin/nologin
),重启系统,OK。
- 创建用户:
sudo useradd xxx
- 删除用户:
sudo userdel xxx
- 更改shell:
sudo usermod -s xxx
GIT服务器
参考:搭建Git服务器
Web服务器
内网问题:
在sunny-ngrok官网(https://www.ngrok.cc/)注册一个账号,可以免费创建一个隧道(我们就可以通过隧道将设备接入公网)
FRP使用方法,具体参见:官方README
- 将frps服务启动在有公网IP的服务器上,如阿里云主机。
- frpc启动在自己机器上,连接公网上的frps服务器。这样(frps就知道和他连接的各个frpc在哪里,等请求来了,直接代理转发到对应的frpc上)
文件同步
- 基于Ubuntu+Owncloud的私有云网盘
- 如何搭建私密云存储之ownCloud
- ownCloud - 轻松架设搭建属于自己或团队的私有云服务 (同步网盘)
- 源码安装 官网
- Seafile - 自己动手搭建个人/团队/公司专属私有文件同步服务 (云存储网盘)
桌面远程控制
刚开始用向日葵,后来一直用TeamViewer,再后来发现TeamViewer免费版只让用5分钟,无奈寻找其它途径。暂时希望PC机间互相能够访问就好,下面是配置的过程。
方法1
不建议使用,建议2
1.软件列表
- xrdp : An open source remote desktop protocol(rdp) server.
2.安装配置
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install xrdp
sudo apt-get install xubuntu-desktop
echo xfce4-session>~/.xsession
sudo service xrdp restart
3.Windows系统远程访问Ubuntu
在 开始 --> 运行 输入:mstsc
打开远程控制界面,选择 sesman-Xvnc 输入远程电脑 IP 和 用户名密码即可。
被控制的电脑看不到 被控制的。
4.Ubuntu 远程访问Windows
启动器中搜索 Remmina
方法2
1.软件列表
- xrdp : An open source remote desktop protocol(rdp) server.
- TigerVNC Server : a high-performance, platform-neutral implementation of VNC (Virtual Network Computing), a client/server application that allows users to launch and interact with graphical applications on remote machines. 可以从 下载地址 下载。
2.安装
按顺序安装(一定要按顺序安装)
sudo apt-get install tightvncserver
sudo apt-get install xrdp
echo unity>~/.xsession
sudo service xrdp restart
3.设置
启动器中搜索 sharing 或者桌面共享,然后
休眠
终端输入如下命令:
sudo pm-hibernate
如果你忘记了没事,记住前缀pm(power manage,pm),然后按 两下 Tab 键查看补全选项,就能看到pm-hibernate(“冬眠”)了~.~。
挂载磁盘镜像
ISO
- 挂载单个镜像
sudo mount -t auto -o loop mntfrom_dvd.iso /mnt/mntto
- 挂载多个镜像
sudo mount -t auto -o loop mntfrom_dvd1.iso /mnt/mntto
#当提示插入另一光盘时
sudo mount -t auto -o loop mntfrom_dvd2.iso /mnt/mntto
创建快捷方式
在Linux中叫作链接,且分软链接和硬链接,这里用软链接。
Linux磁盘目录
基本格式如下,输入ln --help
查看ln(link)具体用法:
ln -s from_filepath to_filepath
比如将主目录下的“data”文件夹链接到桌面快捷方式:ln -s ~/data ~/桌面/data
。
其它磁盘目录
本人采用开机自动挂载磁盘,为磁盘建立软链接的方法。
如果不是Linux分区,开机后一般不会被挂载,这样即使你使用mount挂载了,重启系统后依然需要重新挂载。所以先看看如何开机自动挂载硬盘或分区:
- 查看要挂载的盘号:
sudo fdisk -l
- 获得磁盘ID:比如查看/dev/sda5的 ID,
sudo blkid /dev/sda5
,输出:/dev/sda5: UUID="09F0066E09F0066E" TYPE="ntfs"
09F0066E09F0066E就是该盘的ID - 编辑fstab文件:
sudo gedit /etc/fstab
,打开后,在末了仿造其中Linux分区挂载命令添加你的挂载命令。比如你要自动挂载ID为09F0066E09F0066E磁盘分区sda5,像下面添加即可:其中最后一个数字为1代表启动分区(Linux),0交换分区,2普通分区;/mnt/d/
为挂载路径,根据自己需要修改。
# swap was on /dev/sda9 during installation
UUID=b5331bb5-f6cb-48a1-b8bb-976cde4b9c9f none swap sw 0 0
# partion sda5, D:
UUID=09F0066E09F0066E /mnt/d/ ntfs defaults 0 2
- 最后创建软链接:如:
ln -s /mnt/d ~/桌面/D
系统备份与恢复
压缩命令备份与恢复
参考:http://www.cnblogs.com/samael/articles/2033568.html
http://blog.jobbole.com/31218/
需求描述:本人想把整个系统备份到移动硬盘下,以便以后恢复,步骤如下:
压缩备份:
首先挂载移动硬盘:
使用sudo fdisk -l
命令查看要挂载的移动硬盘设备名,如/dev/sdb1
,使用sudo mount -t ntfs /dev/sdb1 /mnt/mdisk
挂载到/mnt/mdisk
目录。
注:移动硬盘插上后貌似会自动挂载到/media/username/
下,那么可以使用umount
命令卸载再挂载,也可以用这个目录压缩要备份的系统文件:
由于是备份整个系统,压缩目录是系统根目录/
,由于/proc
,lost+found
,mnt
,media
等目录无需备份,所以使用-exclude
选项排除:
sudo tar cvPzf /mnt/mdisk/ubuntu-14.04-20160416-study.tgz --exclude=/proc --exclude=/lost+found --exclude=/mnt --exclude=/media --exclude=/sys --exclude=/tmp /
如果想使用大压缩比文件存储,可以使用bz2文件,但解压缩会慢些,命令如下:
sudo tar jPcvf /mnt/mdisk/ubuntu-14.04-20160416-study.tar.bz2 --exclude=/proc --exclude=/lost+found --exclude=/mnt --exclude=/media --exclude=/sys --exclude=/tmp /
解压还原:
如果系统可以正常运行,只是想恢复之前的备份状态,那么进入/
目录,执行以下代码:
- 解压文件:
sudo tar xvPfz /mnt/mdisk/ubuntu-14.04-20160416-study.tgz -C /
或
sudo tar xvPfj /mnt/mdisk/ubuntu-14.04-20160416-study.tar.bz2 -C /
- 重建忽略的目录
mkdir /proc /media /mnt /sys
如果系统进不去了,把Ubuntu镜像解压到U盘,以EFI启动,试用Ubuntu,然后挂载原系统/
分区(如挂载到/mnt/rootdir
)和备份文件所在分区(如挂载到/mnt/mdisk
),之后再执行解压命令,同样可以用--exclude=/path
排除某些路径:
sudo tar xvpfz /mnt/mdisk/ubuntu-14.04-20160416-study.tgz --exclude=/home -C /mnt/rootdir
或
sudo tar xvpfj /mnt/mdisk/ubuntu-14.04-20160416-study.tar.bz2 --exclude=/home -C /mnt/rootdir
不要忘了重建备份忽略的目录(如果已经不存在)
mkdir /proc /media /mnt /sys
保存网站
Ubuntu系统下可以使用wget
克隆和复制一个网站到本地计算机:
wget -p -np -k -r url
其中,url
为网址,各参数意义,可以使用wget --help
查看.
也可以给如上命令起个别名(alias), 然后直接alias + url实现克隆, 方法是, 在~/.bashrc
文件中加入如下代码, 保存后重启终端即可:
alias getsite='wget -r -k -p -np -U NoSuchBrowser/1.0'
音视频播放器
snappy player 或者smplayer 可通过以下命令安装:
sudo apt-get install snappy
添加字体
Ubuntu的字体在 /usr/share/fonts/
文件夹下,可以新建文件夹,将字体拷贝进去,然后执行安装命令。以 SourceCodePro
字体文件为例。
准备字体文件
将对应字体文件拷贝到上述文件夹下的子目录(“scp”新建)下,然后执行如下安装命令。
安装字体
执行如下命令,将生成 “fonts.scale” 文件和 “fonts.dir” 文件
sudo mkfontscale
sudo mkfontdir
sudo fc-cache
在 Sublime 中,设置文件里,修改成相应的字体名即可。
图像视频相关
屏幕录制
- kazam 用于录制
#sudo add-apt-repository ppa:kazam-team/unstable-series
#sudo apt-get update
sudo apt-get install kazam
- ffmpeg 用于转换(mp4–> gif)
#sudo add-apt-repository ppa:kirillshkrogalev/ffmpeg-next
#sudo apt-get update
sudo apt-get install ffmpeg
ffmpeg -i input.mp4 output.gif
#adv
ffmpeg -ss 2 -t 12 -i input.mp4 -s 480x320 -r 15 output.gif
编程
CUDA切换
如果你装了两个版本的cuda,如cuda8和cuda9,并且想简单地通过命令切换的话,可以这样:
新建 文件 switch_cuda.sh
#!/bin/sh
version=$1
if [ $version -eq 8 ]
then
echo "switch to cuda ${version}!"
# CUDA8
export PATH=/usr/local/cuda-8.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH
fi
if [ $version -eq 9 ]
then
echo "switch to cuda ${version}!"
# CUDA9
export PATH=/usr/local/cuda-9.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64:$LD_LIBRARY_PATH
fi
然后,在 “~/.bashrc” 中添加:
alias cuda8="source FOLDERPATH/switch_cuda.sh 8"
alias cuda9="source FOLDERPATH/switch_cuda.sh 9"
即可在终端通过 cuda8
, cuda9
切换版本(临时有效)。
Windows系统
查看电脑信息
系统信息
运行中输入 cmd
打开 DOS 界面,然后输入 systeminfo
即可
硬件信息
WMIC 扩展 WMI(Windows Management Instrumentation,Windows管理工具) ,提供了从命令行接口和批命令脚本执行系统管理的支持。
使用方法:在DOS或PowerShell中输入 wmic
即可进入 wmic 控制界面。
- 磁盘序列号:
wmic diskdrive get serialnumber
无新建菜单
新建reg文件
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\Background\shellex\ContextMenuHandlers\New]
@="{D969A300-E7FF-11d0-A93B-00A0C90F2719}"
修改MAC地址
控制面板--> 网络和Internet--> 网络连接 选择你要修改的网卡适配器, 右击--> 属性-->配置-->高级-->Locally Administered MAC address ,值中输入 1346EA4B0476
Microsoft软件的获取
可以从MSDN, 我告诉你 获取,选中想下载的文件,点击详细信息,可以看到下载链接,使用迅雷等下载工具即可下载。
MS Office软件
Onenote插件
Onenote插件可以到Office OneNote Gem Add-Ins下载,如下载导航插件,可以实现为笔记添加标签,思维导图的功能。
输入法问题
字符不匹配
比如按下@键,却显示",而按下\,却显示#,一般是键盘选择不正确,导致的错乱,可以通过语言首选项
设置输入法对应键盘选项——一般选“美式键盘”。
右键菜单
添加“用写字板打开”等快捷操作
这里做成批处理文件(这样右击该文件既可以完成添加操作),新建一个txt文件,更改后缀为:bat
,文件名自起,复制下面的内容,保存,右击你的bat文件,选择“以管理员权限运行”即可。
reg add "HKCR\*\shell\Wordpad(&W)" /ve /d "Edit with Wordpad"
reg add "HKCR\*\shell\Wordpad(&W)" /v Icon /t REG_SZ /d "%systemroot%\system32\write.exe,0"
reg add "HKCR\*\shell\Wordpad(&W)\Command" /ve /d "%systemroot%\system32\write.exe %%1"
复制后文件内容如下图所示:
用写字板打开效果图如下:
查看Linux分区
可以使用DiskInternals Linux Reader这款软件,软件截图如下:
病毒
Skypee病毒
中了这个病毒的电脑,其磁盘里的每个文件夹都会被创建一个快捷方式,通过文件夹选项,显示隐藏文件及受系统保护的隐藏文件,删掉所有隐藏的 Skypee
文件夹! Google(病毒创建的)文件夹夹,然后通过 运行——>regdit
打开注册表编辑器,按如下路径找到项 AntiWormUpdate
,
注册表路径:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
可以看到 AntiWormUpdate
对应值为:
C:\Google\AutoIt3.exe /AutoIt3ExecuteScript C:\Google\googleupdate.a3x
,正为病毒自动添加的开机启动项,删掉即可。如图
实际上,项 AntiUsbWorm
项也是病毒创建的,删掉即可!
服务
蓝牙
很多时候,出现 某项功能不可用可能是服务的问题,如蓝牙,就打开服务–> bluetooth开头的服务,启动即可。
任务栏系统图标失效
运行-->services.msc
打开服务,查看 User Manager
状态,改为自动启动状态。
网络属性空白
运行-->services.msc
打开服务,查看 Network Setup Service
状态,改为自动启动状态。
双系统
时间不一致
新建一个 。bat
文件,输入如下代码,保存并关闭,双击执行即可,或者直接在DOS命令窗口执行如下命令。
Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1
自动切换
假如装有Ubuntu 和 Windows 双系统,有一个始终默认启动的系统,比如ubuntu,那么想在下次启动时不启动默认系统,而是另一系统Windows,可以按照下面的描述操作:
sudo grub-reboot 2
sudo reboot
因为Windows菜单为第三个,所以为2,Ubuntu默认启动,为第一个,为0。
更新
取消自动更新
直接搜索 “服务”,按下图操作:
第三方软件
MATLAB
以MATLAB Editor打开“.m”文件
- 对于MATLAB 2012之前的版本:
一般新安装的MATLAB会自动关联“.m”文件,以编辑器打开,然而有时候可能是因为更改了默认打开方式,或者是重装系统但没有重装MATLAB,所以双击“.m”文件会启动MATLAB主窗体,然后再在Editor中打开。下面介绍恢复方法:
打开MATLAB程序
(对于Win7及以上的系统,右键 -> 以管理员身份运行
)复制如下命令到MATLAB命令窗口,回车运行
cwd=pwd; cd([matlabroot '\mcr\toolbox\matlab\winfun\private']); fileassoc('add',{'.m','.mat','.fig','.p','.mdl',['.' mexext]}); cd(cwd); disp('OK!') disp('Changed Windows file associations. FIG, M, MAT, MDL, MEX, and P files are now associated with MATLAB.')
注意:MATLAB R2012 之前的版本,路径不同,需要将
cd([matlabroot '\mcr\toolbox\matlab\winfun\private']);
,替换为cd([matlabroot '\toolbox\matlab\winfun\private']);
。右击‘.m’文件 -> 打开方式 -> 选择默认程序 -> MATLAB
,如下图所示
然后,在弹出的窗口中选择:下图中红框圈住的“MATLAB(R2014a)”既可以仅在MATLAB Editor 中打开 .m 文件;若选择“MATLAB Starter Application”就会启动一个新的MATLAB主程序。
- MATLAB 2012之后的版本:
参考这篇文章,下载提供的文件associateFiles.m,然后用matlab运行生成注册表文件MatlabFileAssocFix.reg,双击注册表进行注册后,右击‘.m’文件 -> 打开方式 -> 选择默认程序 -> MATLAB
即可。