以 ubuntu 16.04 为例
看看系统安装了什么版本 Python
$ ls /usr/bin/python*
检查 update-alternatives 对 python 设置了没
$ sudo update-alternatives --list python
update-alternatives: error: no alternatives for python
$ ls -larth `which python`*
将各版本 Python 加入到 update-alternatives 中
$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.5 2
设置以上其中之一的 Python 版本为预设
$ sudo update-alternatives --config python
根据以上的选择, 预设所用的版本会改变
$ python --version
Python 2.7.12 / Python 3.5.2
显示
$ update-alternatives --display python
移除
$ update-alternatives --remove python /usr/bin/python3.5
广告
本站里的文章大部分经过自行整理与测试
2017年5月31日星期三
2017年5月29日星期一
PyQt5 - GUI 制作
1) 安装
1.1) Python 3.5 + PyQt5
平台用 Ubuntu 16.04, 预设已安装了 Python 2.7 和 Python 3.5
https://www.riverbankcomputing.com/software/pyqt/download5
$ sudo apt-get install python3-pip
$ pip3 install --upgrade pip
$ pip3 install PyQt5
1.2) Qt Creator
# Qt Online Installer for Linux 64-bit (31 MB)
$ wget http://download.qt.io/official_releases/online_installers/qt-unified-linux-x64-online.run
$ chmod +x qt-unified-linux-x64-online.run
$ ./qt-unified-linux-x64-online.run
1.3) IDE
1.3.1) PyCharm
https://www.jetbrains.com/pycharm/download/download-thanks.html?platform=linux&code=PCC
http://jasonmun.blogspot.my/2017/04/ubuntu-ubuntu-make.html
1.3.2) Eclipse + PyDev
http://jasonmun.blogspot.my/2016/04/eclipse-pydev.html
2) 代码编写
https://github.com/shantnu/PyQt_first
2.1) 先用 Qt Creator 制作要用的 GUI 界面 (tax_calc.ui)
Qt Creator - File - New File or Project...
- Files and Classes - Qt - Qt Designer Form
- Choose - Form Template: Main Window - Next - Location: tax_calc.ui
其实 ui 文件也就是一个 xml
https://raw.githubusercontent.com/shantnu/PyQt_first/master/tax_calc.ui
要自己学习重制作界面 tax_calc.ui, 可以看以下
http://pythonforengineers.com/your-first-gui-app-with-python-and-pyqt/
2.2) Python 代码 (以上代码是用 PyQt4, 而以下已改为 PyQt5)
import sys
from PyQt5 import QtWidgets, uic
qtCreatorFile = "tax_calc.ui"
Ui_MainWindow, QtBaseClass = uic.loadUiType(qtCreatorFile)
class MyApp(QtWidgets.QMainWindow, Ui_MainWindow):
def __init__(self):
QtWidgets.QMainWindow.__init__(self)
Ui_MainWindow.__init__(self)
self.setupUi(self)
self.calc_tax_button.clicked.connect(self.CalculateTax)
def CalculateTax(self):
price = int(self.price_box.toPlainText())
tax = (self.tax_rate.value())
total_price = price + ((tax / 100) * price)
total_price_string = "The total price with tax is: " + str(total_price)
self.results_window.setText(total_price_string)
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
window = MyApp()
window.show()
sys.exit(app.exec_())
1.1) Python 3.5 + PyQt5
平台用 Ubuntu 16.04, 预设已安装了 Python 2.7 和 Python 3.5
https://www.riverbankcomputing.com/software/pyqt/download5
$ sudo apt-get install python3-pip
$ pip3 install --upgrade pip
$ pip3 install PyQt5
1.2) Qt Creator
# Qt Online Installer for Linux 64-bit (31 MB)
$ wget http://download.qt.io/official_releases/online_installers/qt-unified-linux-x64-online.run
$ chmod +x qt-unified-linux-x64-online.run
$ ./qt-unified-linux-x64-online.run
1.3) IDE
1.3.1) PyCharm
https://www.jetbrains.com/pycharm/download/download-thanks.html?platform=linux&code=PCC
http://jasonmun.blogspot.my/2017/04/ubuntu-ubuntu-make.html
1.3.2) Eclipse + PyDev
http://jasonmun.blogspot.my/2016/04/eclipse-pydev.html
2) 代码编写
https://github.com/shantnu/PyQt_first
2.1) 先用 Qt Creator 制作要用的 GUI 界面 (tax_calc.ui)
Qt Creator - File - New File or Project...
- Files and Classes - Qt - Qt Designer Form
- Choose - Form Template: Main Window - Next - Location: tax_calc.ui
其实 ui 文件也就是一个 xml
https://raw.githubusercontent.com/shantnu/PyQt_first/master/tax_calc.ui
要自己学习重制作界面 tax_calc.ui, 可以看以下
http://pythonforengineers.com/your-first-gui-app-with-python-and-pyqt/
2.2) Python 代码 (以上代码是用 PyQt4, 而以下已改为 PyQt5)
import sys
from PyQt5 import QtWidgets, uic
qtCreatorFile = "tax_calc.ui"
Ui_MainWindow, QtBaseClass = uic.loadUiType(qtCreatorFile)
class MyApp(QtWidgets.QMainWindow, Ui_MainWindow):
def __init__(self):
QtWidgets.QMainWindow.__init__(self)
Ui_MainWindow.__init__(self)
self.setupUi(self)
self.calc_tax_button.clicked.connect(self.CalculateTax)
def CalculateTax(self):
price = int(self.price_box.toPlainText())
tax = (self.tax_rate.value())
total_price = price + ((tax / 100) * price)
total_price_string = "The total price with tax is: " + str(total_price)
self.results_window.setText(total_price_string)
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
window = MyApp()
window.show()
sys.exit(app.exec_())
2017年5月26日星期五
Ubuntu - 启动 root 户口登入 (lightdm)
在 Ubuntu 16.04 用 root 户口不能直接在界面 (lightdm) 登入
因预设是不会有给 Login ID 输入的输入框
如果要给 root 登入, 需要改变 lightdm 设置
1) 要先在自己的管理员户口设置 root 密码
$ sudo passwd root
2) 修改 lightdm.conf 设置, 重启即可
$ sudo gedit /etc/lightdm/lightdm.conf
[SeatDefaults]
greeter-session=unity-greeter
user-session=ubuntu
greeter-show-manual-login=true
2017年5月25日星期四
Ubuntu Server 安装 GNOME
$ sudo apt-get install x-window-system-core
$ sudo apt-get install gnome-core
# 不一定要安装 gdm / lightdm, 因以上已安装了 gdm3, 包含 startx
$ sudo apt-get install gdm
也可以安装其它 GUI 界面, 如
edubuntu-desktop, kubuntu-desktop, lubuntu-desktop,
qtubuntu-desktop, ubuntu-desktop, ubuntu-desktop-mir,
xubuntu-desktop
# 第一次进入图形界面, 乃需要输入 startx
$ startx
# 启动进入命令行或图形界面的切换方法
$ sudo systemctl set-default multi-user.target
或
$ sudo systemctl set-default graphical.target
$ reboot
$ sudo apt-get install gnome-core
# 不一定要安装 gdm / lightdm, 因以上已安装了 gdm3, 包含 startx
$ sudo apt-get install gdm
也可以安装其它 GUI 界面, 如
edubuntu-desktop, kubuntu-desktop, lubuntu-desktop,
qtubuntu-desktop, ubuntu-desktop, ubuntu-desktop-mir,
xubuntu-desktop
# 第一次进入图形界面, 乃需要输入 startx
$ startx
# 启动进入命令行或图形界面的切换方法
$ sudo systemctl set-default multi-user.target
或
$ sudo systemctl set-default graphical.target
$ reboot
2017年5月24日星期三
ClamAV
https://www.clamav.net/
1) 安装
$ sudo apt-get install clamav clamtk clamav-daemon libclamunrar7
* clamtk 是 GUI
2) 更新
$ sudo freshclam
如果出现
ERROR: /var/log/clamav/freshclam.log is locked by another process
ERROR: Problem with internal logger (UpdateLogFile = /var/log/clamav/freshclam.log).
解决方法
$ sudo lsof /var/log/clamav/freshclam.log
$ sudo kill -9 pid
3) 扫描 (只列出受病毒或木马感染的文件)
$ sudo clamscan -r --bell --exclude-dir=/host -i /
4) 自动化
升级
$ at 3:30 tomorrow
at>clamscan -i /home/user > mail user@example.com
at> <CTRL-D>
job 3 at 2005-04-28 03:30
或
$ sudo gedit /etc/crontab
0 3 * * * root /usr/bin/freshclam --quiet -l /var/log/clamav/clamav.log #每天3点升级
扫描
00 00 * * * sudo clamscan --recursive --remove /home
1) 安装
$ sudo apt-get install clamav clamtk clamav-daemon libclamunrar7
* clamtk 是 GUI
2) 更新
$ sudo freshclam
如果出现
ERROR: /var/log/clamav/freshclam.log is locked by another process
ERROR: Problem with internal logger (UpdateLogFile = /var/log/clamav/freshclam.log).
解决方法
$ sudo lsof /var/log/clamav/freshclam.log
$ sudo kill -9 pid
3) 扫描 (只列出受病毒或木马感染的文件)
$ sudo clamscan -r --bell --exclude-dir=/host -i /
4) 自动化
升级
$ at 3:30 tomorrow
at>clamscan -i /home/user > mail user@example.com
at> <CTRL-D>
job 3 at 2005-04-28 03:30
或
$ sudo gedit /etc/crontab
0 3 * * * root /usr/bin/freshclam --quiet -l /var/log/clamav/clamav.log #每天3点升级
扫描
00 00 * * * sudo clamscan --recursive --remove /home
2017年5月20日星期六
Etcher - 镜像写入 USB 盘工具
https://etcher.io/
Etcher 是个镜像 (iso / img) 写入 USB 盘的工具
支持 Windows, Mac 和 Linux
$ gedit /etc/apt/sources.list
deb https://dl.bintray.com/resin-io/debian stable etcher
$ sudo apt-key adv --keyserver hkp://pgp.mit.edu:80 --recv-keys 379CE192D401AB61
$ sudo apt-get update
$ sudo apt-get install etcher-electron
.NET Core SDK 安装
安装 .NET Core SDK ( 支持 Windows / Linux / Mac / Docker )
然后再安装 Visual Studio Code 编辑器
就可以开发 .NET 服务应用了
https://www.microsoft.com/net/core#linuxubuntu
然后再安装 Visual Studio Code 编辑器
就可以开发 .NET 服务应用了
https://www.microsoft.com/net/core#linuxubuntu
2017年5月19日星期五
Kali Linux - 修改 sources.list
安装了 Kali Linux
https://www.kali.org/downloads/
但用的时候发现 sudo apt-get update 竟然没有更新任何软件源
所以也只有自行加入了..
1) 检查 kali 的版本
$ lsb_release -a
2) 修改 sources.list (以下只需选一个软件源来用)
$ su
$ leafpad /etc/apt/sources.list
# 官方源
# deb http://http.kali.org/kali kali-rolling main non-free contrib
# deb-src http://http.kali.org/kali kali-rolling main non-free contrib
# 中科大
deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
deb-src http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
# 阿里云
# deb http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
# deb-src http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
# 清华大学
# deb http://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free
# deb-src https://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free
# 浙大
# deb http://mirrors.zju.edu.cn/kali kali-rolling main contrib non-free
# deb-src http://mirrors.zju.edu.cn/kali kali-rolling main contrib non-free
# 东软大学
# deb http://mirrors.neusoft.edu.cn/kali kali-rolling/main non-free contrib
# deb-src http://mirrors.neusoft.edu.cn/kali kali-rolling/main non-free contrib
# 重庆大学
# deb http://http.kali.org/kali kali-rolling main non-free contrib
# deb-src http://http.kali.org/kali kali-rolling main non-free contrib
3) 更新
$ apt-get update
https://www.kali.org/downloads/
但用的时候发现 sudo apt-get update 竟然没有更新任何软件源
所以也只有自行加入了..
1) 检查 kali 的版本
$ lsb_release -a
2) 修改 sources.list (以下只需选一个软件源来用)
$ su
$ leafpad /etc/apt/sources.list
# 官方源
# deb http://http.kali.org/kali kali-rolling main non-free contrib
# deb-src http://http.kali.org/kali kali-rolling main non-free contrib
# 中科大
deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
deb-src http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
# 阿里云
# deb http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
# deb-src http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
# 清华大学
# deb http://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free
# deb-src https://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free
# 浙大
# deb http://mirrors.zju.edu.cn/kali kali-rolling main contrib non-free
# deb-src http://mirrors.zju.edu.cn/kali kali-rolling main contrib non-free
# 东软大学
# deb http://mirrors.neusoft.edu.cn/kali kali-rolling/main non-free contrib
# deb-src http://mirrors.neusoft.edu.cn/kali kali-rolling/main non-free contrib
# 重庆大学
# deb http://http.kali.org/kali kali-rolling main non-free contrib
# deb-src http://http.kali.org/kali kali-rolling main non-free contrib
3) 更新
$ apt-get update
2017年5月17日星期三
Ubuntu - Google Drive
https://launchpad.net/~alessandro-strada/+archive/ubuntu/ppa
$ su
$ add-apt-repository ppa:alessandro-strada/ppa
$ apt-get update
$ apt-get install google-drive-ocamlfuse
$ su USERNAME
# 会打开 firefox 登入 Google, 给 ocamlfuse 这软件权限
$ google-drive-ocamlfuse
$ mkdir ~/"Google Drive"
$ google-drive-ocamlfuse ~/"Google Drive"
$ fusermount -u ~/"Google Drive"
$ su
$ add-apt-repository ppa:alessandro-strada/ppa
$ apt-get update
$ apt-get install google-drive-ocamlfuse
$ su USERNAME
# 会打开 firefox 登入 Google, 给 ocamlfuse 这软件权限
$ google-drive-ocamlfuse
$ mkdir ~/"Google Drive"
$ google-drive-ocamlfuse ~/"Google Drive"
$ fusermount -u ~/"Google Drive"
Ubuntu - Deluge
http://dev.deluge-torrent.org/wiki/Download
Deluge 跟 Transmission 一样, 也是 BitTorrent 客户端软件
但它比 Transmission 的界面显示更丰富
$ sudo add-apt-repository ppa:deluge-team/ppa
$ sudo apt-get update
$ sudo apt-get install deluge
2017年5月16日星期二
Ubuntu / Linux Mint - LibreOffice 5.3.X (PPA)
Linux Mint 需要先设置
$ gksu nano /etc/apt/preferences.d/libreoffice-libreoffice-5-3.pref
Package: *
Pin: release o=LP-PPA-libreoffice-libreoffice-5-3
Pin-Priority: 701
Ubuntu / Linux Mint
$ sudo add-apt-repository ppa:libreoffice/libreoffice-5-3
$ sudo apt-get update
$ sudo apt-get install libreoffice libreoffice-style-breeze
用 snap 安装
http://jasonmun.blogspot.my/2017/04/ubuntu-libreoffice-snap.html
$ gksu nano /etc/apt/preferences.d/libreoffice-libreoffice-5-3.pref
Package: *
Pin: release o=LP-PPA-libreoffice-libreoffice-5-3
Pin-Priority: 701
Ubuntu / Linux Mint
$ sudo add-apt-repository ppa:libreoffice/libreoffice-5-3
$ sudo apt-get update
$ sudo apt-get install libreoffice libreoffice-style-breeze
用 snap 安装
http://jasonmun.blogspot.my/2017/04/ubuntu-libreoffice-snap.html
Ubuntu - 最新图形驱动
https://launchpad.net/~graphics-drivers/+archive/ubuntu/ppa
$ sudo add-apt-repository ppa:graphics-drivers/ppa
$ sudo apt-get update
之后可以在 Additional Drivers 上
看到新的显卡驱动可以更新
这个 Ubuntu X-Swat PPA 可以用在 Ubuntu 16.04 - 16.10
https://launchpad.net/~ubuntu-x-swat/+archive/ubuntu/updates
https://launchpad.net/~xorg-edgers/+archive/ubuntu/ppa/+packages
$ sudo add-apt-repository ppa:graphics-drivers/ppa
$ sudo apt-get update
之后可以在 Additional Drivers 上
看到新的显卡驱动可以更新
这个 Ubuntu X-Swat PPA 可以用在 Ubuntu 16.04 - 16.10
https://launchpad.net/~ubuntu-x-swat/+archive/ubuntu/updates
https://launchpad.net/~xorg-edgers/+archive/ubuntu/ppa/+packages
2017年5月4日星期四
GNOME Shell Extension 浏览器插件 - GNOME Shell Integration
1. 安装浏览器插件 GNOME Shell Integration
选择一个 Gnome Shell Extension,
如果还没安装 GNOME Shell Integration 插件,
网页上会提示要求安装插件,
只需点选该链接就可以下载与安装了..
https://extensions.gnome.org/extension/104/netspeed/
2. 在 Ubuntu / Debian 安装 chrome-gnome-shell
$ su
# Ubuntu
$ apt install chrome-gnome-shell
# Fedora
$ dnf install chrome-gnome-shell
其它 Linux 发行版 (Arch Linux / Gentoo), 可看..
https://wiki.gnome.org/Projects/GnomeShellIntegrationForChrome/Installation
3. 再回去步骤 1, 刷新网页
这时, 发现已经可以在浏览器上 (Firefox / Google Chrome)
启动 / 关闭或管理所有 GNOME Shell Extensions 了
4. 建议也安装 Gnome Tweak Tool,
安装后可以本地管理所有 Gnome Shell Extensions
( Gnome Tweak Tool 还有其它功能, 用 Gnome 都建议安装之)
# Ubuntu
$ apt install gnome-tweak-tool
# Fedora
$ dnf install gnome-tweak-tool
订阅:
博文 (Atom)