广告

本站里的文章大部分经过自行整理与测试

2017年5月31日星期三

Ubuntu - Python 用 update-alternatives 设置

以 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月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_())

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

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

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

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

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"

Ubuntu - Deluge


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

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

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
$ apt install chrome-gnome-shell


其它 Linux 发行版, 可看..
https://wiki.gnome.org/Projects/GnomeShellIntegrationForChrome/Installation

3. 再回去步骤 1, 刷新网页

这时, 发现已经可以在浏览器上 (Firefox / Google Chrome)
启动 / 关闭或管理所有 GNOME Shell Extensions 了