Ubuntu常用设置


安装与启动

  • 我使用efi启动,用一个efi-loader(如refind)加载ubuntu的grubx64.efi,配置文件件为grub.cfg,cfg内容如下。其中2490e456-7285-4e1f-923d-f2dbca786508是ubuntu根目录”/“挂载磁盘的uuid,即hd1,msdos10的uuid。用grubx64.efi加载ubuntu的/boot/grub/grub.cfg来启动ubuntu。
search.fs_uuid 2490e456-7285-4e1f-923d-f2dbca786508 root hd1,msdos10
set prefix=($root)'/boot/grub'
configfile $prefix/grub.cfg

安装五笔

  • 使用 fcitx 五笔拼音,(主要用五笔)
sudo apt-get install fcitx-table-wbpy
  • 去掉四码自动上屏:配置当前输入法 , 双击“五笔拼音” , 选择“wupy.conf”,编辑,去掉自动上屏选项

更改Home文件夹为英文

  • 将桌面、下载、模板、公共、文档、音乐、图片、视频里的文件夹数据备份,然后全删
  • 终端:
   cd ~/
   mkdir Desktop Download Template Public Document  Music Picture Video
   vim ~/.config/user-dirs.dirs
  • 按下面所示修改:
  XDG_DESKTOP_DIR="$HOME/Desktop"
  XDG_DOWNLOAD_DIR="$HOME/Download"
  XDG_TEMPLATES_DIR="$HOME/Template"
  XDG_PUBLICSHARE_DIR="$HOME/Public"
  XDG_DOCUMENTS_DIR="$HOME/Document"
  XDG_MUSIC_DIR="$HOME/Music"
  XDG_PICTURES_DIR="$HOME/Picture"
  XDG_VIDEOS_DIR="$HOME/Video"

添加触摸板控制

  • ubuntu下笔记本的Fn不能关闭触控版了,自己添加快捷键
  • 打开:系统设置,键盘,快捷键,自定义快捷键
  • 按下面所示添加:
synclient touchpadoff=1   //--关闭触摸板(16.04目前无效)
synclient touchpadoff=0   //--开启触摸板(16.04目前无效)
或:
gconftool-2 --toggle /desktop/gnome/peripherals/touchpad/touchpad_enabled
  // 开关触控板(16.04目前无效)

添加完后如图:

#!/usr/bin/env python

import os

def check_touchpad_state(dev_num):
    dev_state = os.popen('xinput list-props  %s' % str(dev_num))
    for lines in dev_state.readlines():
        if 'Device Enabled' in lines:
            sig = lines[-3:-1].strip()
            signal = int(sig)
            print ('signal now :%d' % signal)
            return signal


def get_dev_num(dev_name = 'SynPS/2 Synaptics TouchPad'):
    dev_state = os.popen('xinput list')
    for lines in dev_state.readlines():
        if dev_name in lines:
            print (lines)
            station = lines.find('id=')
            dev_num = lines[station + 3: station+5]
            dev_num = int(dev_num)
            print ('dev_num: %d' % dev_num)
            return dev_num
    dev_state.close()

def change_state(state_value, dev_num):
    print ('state_value = ', state_value)
    state = not state_value
    if state == True:
        state = 1
    #else:
        #state = 0
    #print ('state = ', state, str(state))
    tem = os.popen("xinput set-prop %s 'Device Enabled' %s" % (str(dev_num), str(state)))
    tem.close()

def main():
    dev_num = get_dev_num()
    state = check_touchpad_state(dev_num)
    change_state(state, dev_num)


if __name__ == '__main__':
    main()

保存成py文件,增加x权限,链到/usr/local/bin中,再增加快捷键。

常用快捷键和技巧

  • 记住吧,方便,常用
Meta        //win键,长按,显示快捷键信息
ctrl + h      //显示隐藏文件(.开头的文件)
shift + delete    //永久删除
Meta + D      //显示桌面
Meta + S      //打开工作区切换器
alt + print     //对窗口截图
shift + print   //对选区截图

Dash搜索:fcitx五笔输入时,输入法看不清,可能直接输入中文拼音字母

解决双系统时间同步问题

  • 方法随便就能百度到,这里使用Ubuntu禁用UTC的方法,与windows系统保持一致,否则windows时间会变成错的。终端:
sudo gedit /etc/default/rcS
# 将 UTC = yes 改成 UTC = no
  • 对于ubuntu16.04只需要运行下面的命令:
sudo hwclock --systohc --localtime

安装NVIDIA驱动

  • 关闭独立显示,降低发热量(默认双显卡均在工作状态)
  • 可以到官网下载,安装显卡驱动需要重启才会生效
  • 在Nvidia官方的控制面板nvidia-settings里就可以切换显卡(alt+F2搜索nvidia-settings)
  • 或者用apt-get下载,打开终端:
sudo apt-get install nvidia-331 nvidia-settings nvidia-prime
  # 331是版本,可以先用aptitude search查看有什么版本,然后确定用什么版本,或到上述官网看支不支持自己的显示
sudo apt-get remove --purge nvidia-331
  # 用于卸载显示驱动的,版本要对应
sh ./nvidia.run --uninstall
  # 网管下载的驱动用此命令
  • 使用命令:
lspci | grep -i vga
  # 列出双显示卡工作情况, “rev ff”表示关闭 , “rev+数字” 表示打开

解决硬盘UUID问题

  • 一般提示为 “为 xxxx准备的磁盘尚未就绪或不存在”,原因是分区的UUID因格式化或重新分区等原因变了,导致ubuntu找不到分区了,改好就行。终端:
sudo blkid
  # 查看分区正确的UUID
sudo vim /etc/fstab
  # 将分区错误的UUID修改成正确的
  # 也可用gedit修改
sudo gedit /etc/fstab

删除自带游戏

  • 在软件中心卸载即可,自带游戏的英文名:
  • 对对碰:Mahjongg
  • 数独:sudoku
    或者,在Dash搜到要卸载的程序,然后右击—卸载

安装vim

  • 自带vi有点问题,(上下左右键不好角等),安装vim
sudo apt-get remove vim-common
  //卸载旧版本
sudo apt-get install vim
  //安装full版vim
  • 将CapsLock换走,免得占了一个黄金位置。

linux下:

# capslock作为esc
# 我试过的所有方法中,只有安装gnome-tweak-tool可以实现开机自动交制钱esc和capslock
sudo apt-get install gnome-tweak-tool
# 在“输入-大写锁定键行为”可以更改

# ctrl作为esc
sudo vim /etc/default/keyboard
# 添加:
XKBOPTIONS="ctrl:nocaps"  # 将capslock当成另一个ctrl键
# 或者
XKBOPTIONS="ctrl:swapcaps"  # 将capslock和ctrl对调
# 到底哪个,看自己习惯吧。
# 然后执行,出现对话框后,一般一路默认即可
sudo dpkg-reconfigure keyboard-configuration

windows下:(windows可以使用vim)

# 打开注册表,找到
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
# 添加二进制键值,若没有的话:
键名:Scancode Map
对调ctrl和caps键值:(共12个字节)
00 00 00 00
00 00 00 00
03 00 00 00
1d 00 3a 00
3a 00 1d e0
00 00 00 00
对调esc和capslock键值:
00 00 00 00
00 00 00 00
03 00 00 00
3a 00 01 00
01 00 3a 00
00 00 00 00
# 键值具涵义就不讲了

解决zip中文乱码问题

  • 终端:
sudo gedit /etc/environment
  # 添加下面两行
UNZIP="-O CP936"
ZIPINFO="-O CP936"
  # 上述方法不行,用下面命令解压
unzip -O gbk xxx.zip

解决MP3标签乱码问题

  • 非utf-8编码的标签会用问题,终端:
vim ~/.profile
  # 添加下面两行,可以解决 Rhythmbox、Totem 等以 GStreamer 为后端的播放器的乱码问题
export GST_ID3_TAG_ENCODING=GBK:UTF-8:GB18030
export GST_ID3V2_TAG_ENCODING=GBK:UTF-8:GB18030
  • 另一种办法就是直接更换播放器,比如有一个个人开发linux酷我播放器,网易云播放器个人感觉要比Rhythmbox好用点。

设置wifi热点

  • 禁用wifi
  • 按下图添加,“点添加,选 wifi”
  • 按下列图设置

    . . .
  • 打开终端

sudo gedit /etc/NetworkManager/system-connections/ubuntu
  //ubuntu 为设我们设置的wifi名称
  //mode = infrastructure 改成 mode = ap
  • 重启一下电脑最好,连接wifi,如果没有显示,连接到隐藏wifi即可

安装c语言开发环境

  • 安装build-essential,build-essential依赖于gcc,g++等,因此安装build-essential后,相应的gcc,g++等也都安装了。
sudo apt-get install build-essential
  • 安装vim做为c/c++的文本编辑器,注意先卸载原来的。
sudo apt-get remove vim-common
sudo apt-get install vim-full

设置启动器

设置点击图标最小化

打开终端:

gsettings set org.compiz.unityshell:/org/compiz/profiles/unity/plugins/unityshell/ launcher-minimize-window true

设置启动器位置

将 Ubuntu 16.04 LTS 的 Unity 启动器移动到桌面底部命令:

gsettings set com.canonical.Unity.Launcher launcher-position Bottom

恢复到原来的左侧命令:

gsettings set com.canonical.Unity.Launcher launcher-position Left

时间菜单栏双月问题(16-04版本)

gsettings set com.canonical.indicator.datetime time-format 'custom'
gsettings set com.canonical.indicator.datetime custom-time-format '%m月%d日 %A%H:%M:%S'

安装google-chrome

  • chromet自带flash相对方便点,先下载chrome安装包,执行下列命令
sudo apt-get -f install
sudo dpkg -i google-chrome-stable_current_amd64.deb

附带fanqiang用工具lanternXX-Net


安装Qt的中文输入问题

  • qt官网下载qt的安装包,以qt5.6.0为例,一般安装后qt creator不能输入中法,编写的gui程序也不能输入中文,解决方法如下:
  • 安装fcitx-frontend-qt5(16.04自带安装)
  • 将安装后的fcitx-frontend-qt5复制到qt安装目录
    通常,fcitx-frontend-qt5在下面的目录路径中(可用命令dpkg -L 包名看文件安装路径):
    /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so
    将该文件复制到qt安装目录:
    /Tools/QtCreator/bin/plugins/platforminputcontexts
    (没有的话就在 /Tools/QtCreator/lib/Qt/plugins/platforminputcontexts)
    和:
    /5.6/gcc_64/plugins/platforminputcontexts中,重新打开 QtCreator,终于可以输入中文了。

安装chmsee

  • chmsee是chm文档的阅读器,ub14.04后只能下载deb安装了。先安装必要的库文件
sudo apt-get install libc6 libchm1 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk2.0-0 libpango1.0-0 libwebkitgtk-1.0-0 libxml2
sudo dpkg -i libgcrypt11_1.5.3-2ubuntu4.3_amd64.deb
sudo dpkg -i chmsee_1.3.0-2ubuntu2_amd64.deb
  • 打开chm中文文档乱码时,在设置中可以编码,改成 “简体中文GBK”

安装Courier New字体

sudo apt-get install ttf-mscorefonts-installer

它的本质是安装 Courier New字体;
安装的时候会出现一个协议 ,按TAB键 ,可以选中<确定>按钮,按Enter 。


安装man中文帮助文档

./configure --prefix=/usr/local/zhman --disable-zhtw
  // 安装到/usr/local/zhman下
make
make install
  • 在 “~/.bashrc” 中添加:
alias cman='man -M /usr/local/zhman/share/man/zh_CN'
  • 之后在 “~/“ 下运行:
source .bashrc
  • 安装完毕,man命令查看英文帮助文档,cman命令查看中文帮助文档

设置qmake路径

qt5.7安装在home下后,ubuntu默认的qmake路径是不匹配的。
在终端使用qmake,会显示

qmake: could not exec '/usr/lib/x86_64-linux-gnu/qt4/bin/qmake': No such file or directory

可以看到默认的qmake还是qt4。
编辑qmake的默认位置:

cd /usr/lib/x86_64-linux-gnu/qt-default/qtchooser
  # qtchooser可以进行qt版本和工具的配置运行
sudo vim defalut.conf
sudo mv default.conf default.conf_bak
  # 备份原本的conf,可以用ls看到,它是一个软链接,指向qt4-x86_64-linux-gnu.conf,现在要改成指向qt5的。
sudo ln -s /usr/share/qtchooser/qt5-x86_64-linux-gnu.conf default.conf
cd  /usr/share/qtchooser
sudo vim qt5-x86_64-linux-gnu.conf
    # 将里的面路径改成自己的, 如:
    #  /home/yehuohanxing/MyApps/Qt570/5.7/gcc_64/bin
    #  /home/yehuohanxing/MyApps/Qt570/5.7/gcc_64

现在终端中执行qmke就可以了。


安装指纹识别驱动

  • 跟个人电脑的硬件有关,我电脑支持指纹:
sudo add-apt-repository ppa:fingerprint/fingerprint-gui
sudo apt-get update
sudo apt-get install libbsapi policykit-1-fingerprint-gui fingerprint-gui

fingerprint-gui
    # 打开软件配置
    # 配置时,最一个Password的选项是将指纹加密文件放入U盘中的,不用配置

更改笔记本合盖、按电源键等设置

  • 可以在“系统设置 -> 电源”中高设置;
  • 可以用systemd 处理某些电源相关的 ACPI 事件。 配置文件为 /etc/systemd/logind.conf, 其中:
# 事件
HandlePowerKey     : 按下电源键后的动作
HandleSleepKey     : 按下挂起键后的动作
HandleHibernateKey : 按下休眠键后的动作
HandleLidSwitch    : 合上笔记本盖后待机

# 值
ignore    : 忽略
poweroff  : 关机
reboot    : 重启
halt      : 关机
suspend   : 待机挂起
hibernate : 体眠

修改完后合使用下列命令生效:

sudo systemctl restart systemd-logind

安装zsh shell

  • 首先安装zsh
sudo apt-get install zsh
  • 改用zsh
chsh -s /usr/bin/zsh
  • 安装on-my-zsh(它是一个zsh的配置,正因为有这个配置,zsh使用起来才无比的方便,当然,也可以自己来配置zsh)
# 通过curl安装
curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | sh

# 通过wget安装
wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O - | sh

建立qt的默认打开方式

设置pro文件默认打开方式为qtcreator的方法如下:

  • 建立软链接:
sudo ln -s ~/Qt5.6.0/Tools/QtCreator/bin/qtcreator /usr/local/bin/qtcreator
  • 建立qtcreator.desktop
sudo vim /usr/share/applications/qtcreator.desktop

复制以下内容:

[Desktop Entry]
Name = Qt Creator
Comment = Open qt pro file
Exec = qtcreator %U
Terminal = false
StartupNotify = true
X-MultipleArgs = false
Type = Application
Categories = Utility;
Icon = /home/yehuohanxing/MyApps/Qt560/qt_logo.png

软件图标位置,可以自己选一个png图像,把png图像的绝对路径放这就可以,或者一步到位:

sudo cp ~/.local/share/applications/DigiaQt-qtcreator-community.desktop ./qtcreator.desktop
# 将其中的Exec改成 : Exec = qtcreator %U

到此,可以直接在终端中使用qtcreator命令来打开程序,如果开发的程序需要root权限运行,则加sudo即可(比如,开发串口程序时需要打开 /dev 下的设备文件,就需要root权限了)。


搭建LAMP

LAMP = Linux+Apache+Mysql/MariaDB+Perl/PHP/Python

  • 安装Apache2
sudo apt-get install apache2
sudo vim /etc/apache2/apache2.conf
    # 将 <Directory /var/www/>
    # 改成 <Directory "你的目录">
    # 可以将/var/www 中的默认网页复制到 你的目录 中
sudo vim /etc/apache2/sites-available/000-default.conf
    # 将 DocumentRoot /var/www/html
    # 改成 DocumentRoot "你的目录"
sudo /etc/init.d/apache2 restart
    # 重启
sudo apt-get install php7.0
    # ubuntu16.04中没有php5了,直接装7吧
sudo apt-get install libapache2-mod-php7.0
    # 配置APACHE+PHP7的
sudo apt-get install libapache2-mod-php
    # 这个应该是配置APACHE+PHP5的,一块装吧
sudo /etc/init.d/apache2 restart
    # 重启
  • 测试php

在 “你的目录”下建一个testphp.php

hello php
<?php
phpinfo();
?>
  • 测试效果

在浏览器中输入 “http://127.0.0.1/testphp.php“ ,
可以看到:

  • 安装MySql
apt-get install mysql-server mysql-client
    # 安装时会要求输入mysql管理员密码,输入即可

apt-get remove --purge mysql-server
apt-get remove autoremove
    # 卸载时要带--purge,连同配置文件一同卸载,不然会出错

注意:

mysql-server : 用来创建和管理数据库实例,提供相关接口供不同客户端调用;
mysql-client : 操作数据库实例的的一个命令行工具,像图形化界面工具有phpmyadmin等;
mysqld       : 即MySQL server
mysql        : 即mysql-client客户端命令行工具
  • 附mysql服务管理命令
/etc/init.d/mysql stop/restart/start

service mysql stop/restart/start
    # 两条令相同

管理mysql的自启,还要改/etc/init/mysql.conf文件,将start的级别注掉,stop的级别改成0123456,才能禁用自启

  • 推荐自启管理工具
apt-get install sysv-rc-conf

搭建FTP

  • 安装vsftpd
sudo apt-get install vsftpd
vim /etc/vsftpd.conf # 编辑ftp配置文件

可以使用下列命令来打开,关闭,重启ftp服务

sudo /etc/init.d/vsftpd start
sudo /etc/init.d/vsftpd stop
sudo /etc/init.d/vsftpd restart

使用下列命令,可以看到系统中多了ftp用户组和ftp用户

cat /etc/group
cat /etc/passwd

ftp服务器的目录位置在 /srv/ftp, 这也是匿名用户访问时的根目录。
可以使用下列命令来间接更改目录

cd /srv
sudo rm -d ftp
cd ~/
mkdir ftp
sudo ln -s ftp /srv/ftp
  • 配置vsftpd.conf

编辑/etc/vsftpd.conf文件:

# 允许匿名用户和本地用户登录,本地用主户即/etc/passwd中的用户
anonymous_enable=YES
local_enable=YES

# 禁止全局写命令
write_enable=YES

# 禁止匿名用户上传和创建文件夹
anon_upload_enable=NO
anon_mkdir_write_enable=NO

# 只允许userlist的用户登录
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd.user_list

# 注意:使用了vsftpd.user_list后,要在其中加入anonymous才能使用匿名用户登录,如以下内容,表示只有匿名用户和名为ftp的用户,以及本地用户ubuntu可以登录
anonymous
ftp
ubuntu
  • 匿名用户登录

/srv/ftp下建立pub用于匿名用户上传的文件,并更改其权限

cd /srv/ftp
sudo mkdir pub
sudo chown ftp:ftp pub

然后用手机或电脑以匿名用户登录到ftp服务器,在浏览器中 或者 在文件浏览器的“连接服务器” 中输入下列地址,即可看到ftp服务器的目录(如果只是想看下,可以先使用匿名用户登录试下)

ftp://localhost
#或
ftp://127.0.0.1

可以看到根目录即是/srv/ftp目录:

然后,进入到pub目录,上传一个文件夹或文件,这里我用的机上传了一个文件夹make_by_meizu,然后在ubuntu终端中查看手机上传的文件夹的详细信息:

可以看到make_by_meizu的用户即用户组为ftp:ftp,所以ftp匿名用户即是以默认建立的ftp用户登录的,所以匿名用户要在pub上传文件或目录,pub的用户要为ftp。

  • 本地用户登录

这里用ftp命令使用本地用户登录:

ftp localhost
ubuntu		#  输入本地用户名,匿名用户时,输入 anonymous,密码不输即可
xxxxx		#  输入本地用户密码
ls /		#  显示根目录

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 [ yehuohan@gmail.com ]

文章标题:Ubuntu常用设置

本文作者:Y

发布时间:2017-06-07, 00:38:29

最后更新:2021-06-26, 02:20:01

原始链接:http://yehuohan.github.io/2017/06/07/%E7%AC%94%E8%AE%B0/OS/Ubuntu%E5%B8%B8%E7%94%A8%E8%AE%BE%E7%BD%AE/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。