2016年3月30日 星期三
Linux 直接對 SCSI 下 SCSI Command
探索 Linux 通用 SCSI 驅動器
https://www.ibm.com/developerworks/cn/linux/l-scsi-api/
範例程式:
http://public.dhe.ibm.com/software/dw/linux/l-scsi-api/scsi_test.zip
The Linux SCSI Generic (sg) Driver
http://sg.danny.cz/sg/index.html?cm_mc_uid=74659717581214593228614&cm_mc_sid_50200000=1459322861
這是另一篇 SCSI Pass Through Interface
Linux LSI SAS 9211-8i Utility
Linux LSI SAS 9211-8i Utility
sas-9211-8i Download
LSIUtil 1.57
lsiutil-1.57.tar.gz
LSIUtil 1.62
http://www.dzhang.com/blog/2013/03/22/where-to-get-download-lsiutil
LSIUtil_1.62.zip
LSIUtil 1.70
https://kb.nc.tc/lsi_sas_controllers
lsiutil_1.70_release_binaries.zip
LSIUtil 1.71
https://kb.nc.tc/lsi_sas_controllers
lsiutil-1.71.zip
Include Source Code: \LSIUtil Kit 1.71\Source\lsiutil.tar.gz
LSIUtil 1.72
lsiutil-1.72.tar.gz
lsiutil_1.72.bb
Installing LSI megaCLI in Ubuntu 12.04
http://www.linuxcat.org/showthread.php?tid=68
megactl
This project is a small collection of programs for examining configuration a
nd status of LSI megaraid adapters, especially Dell PERC RAID adapters,
and attached storage devices.
https://sourceforge.net/projects/megactl/?source=typ_redirect
//=================================================
LSIUtil 的第16個功能是有Bug的
PHY P H T L
:=====================
: 0/ 0-[ 0 0 0]
: 1/ 0-[ 0 353 0]
: 2/ 0-[ 0 351 0]
: 3/ 0-[ 0 352 0]
: 4/ 0-[ 0 356 0]
: 5/ 0-[ 0 355 0]
: 6/ 0-[ 0 354 0]
: 7/ 0-[ 0 357 0]
:=====================
LSIUtil 的第42個功能是有Bug的 (LSIUtil 1.71以前, 1.72的 Source Code還沒有時間研究)
42. Display operating system names for devices
在特定的時候, OS Devices Name 會取得失敗
因為 lsiutil 使用兩種方式
在 getOsDeviceNameEx(...)中
第一種是
n = readlink(pathName, linkName, (int)sizeof linkName);
這會取得失敗
例如:
"/sys/class/scsi_device/0:0:351:0/device/block/"
第二種是
n = ioctl(fd, SCSI_IOCTL_GET_IDLUN, id);
這個取得的 id[0] 會是錯誤的號碼.
所以兩種都得不正確的 OS Devices Name /dev/sdx
猜測 SCSI_IOCTL_GET_IDLUN 對於Target ID大於 254 會出問題
有時間再去查這部份的 Linux Source Code
請參考 lsscsi的 source Code
這是取得失敗的畫面
sas-9211-8i Download
LSIUtil 1.57
lsiutil-1.57.tar.gz
LSIUtil 1.62
http://www.dzhang.com/blog/2013/03/22/where-to-get-download-lsiutil
LSIUtil_1.62.zip
LSIUtil 1.70
https://kb.nc.tc/lsi_sas_controllers
lsiutil_1.70_release_binaries.zip
LSIUtil 1.71
https://kb.nc.tc/lsi_sas_controllers
lsiutil-1.71.zip
Include Source Code: \LSIUtil Kit 1.71\Source\lsiutil.tar.gz
LSIUtil 1.72
lsiutil-1.72.tar.gz
lsiutil_1.72.bb
Installing LSI megaCLI in Ubuntu 12.04
http://www.linuxcat.org/showthread.php?tid=68
megactl
This project is a small collection of programs for examining configuration a
nd status of LSI megaraid adapters, especially Dell PERC RAID adapters,
and attached storage devices.
https://sourceforge.net/projects/megactl/?source=typ_redirect
//=================================================
LSIUtil 的第16個功能是有Bug的
16. Display attached devices
其 PhyNum
但 LSIUtil 卻是相反的
也就是說其對應要是相反的
第一條 SAS Cable 是 0到3
LSIUtil PhyNum LSI PHY Cable Port
3 => 0
2 => 1
1 => 2
0 => 3
第二條 SAS Cable 是 4到7
LSIUtil PhyNum LSI PHY Cable Port
7 => 4
6 => 5
5 => 6
4 => 7
if( LSIUtil PhyNum >=0 && LSIUtil PhyNum <= 3)
3-(LSIUtil PhyNum) = (LSI PHY Cable Port)
else if( LSIUtil PhyNum >= 4 && LSIUtil PhyNum <= 7)
7-(LSIUtil PhyNum) + 4 = (LSI PHY Cable Port)
else if( LSIUtil PhyNum >= 4 && LSIUtil PhyNum <= 7)
7-(LSIUtil PhyNum) + 4 = (LSI PHY Cable Port)
PHY P H T L
:=====================
: 0/ 0-[ 0 0 0]
: 1/ 0-[ 0 353 0]
: 2/ 0-[ 0 351 0]
: 3/ 0-[ 0 352 0]
: 4/ 0-[ 0 356 0]
: 5/ 0-[ 0 355 0]
: 6/ 0-[ 0 354 0]
: 7/ 0-[ 0 357 0]
:=====================
My Lsiutil
PhyNum PhyNum
[0:0:351:0] disk SEAGATE ST3500414SS 0006 /dev/sdb 2 1 [0:0:352:0] disk SEAGATE ST3500414SS 0006 /dev/sdc 3 0
[0:0:353:0] disk SEAGATE ST3500620SS 0001 /dev/sdd 1 2
[0:0:354:0] disk ATA ST3500413AS JC45 /dev/sde 6 5
[0:0:355:0] disk ATA ST1000VX000-1CU1 CV22 /dev/sdf 5 6
[0:0:356:0] disk ATA ST1000DM003-1CH1 CC44 /dev/sdg 4 7
[0:0:357:0] disk ATA ST1000DM003-9YN1 CC4D /dev/sdh 7 4
[1:0:0:0] disk ATA ST1000DM003-9YN1 CC4B /dev/sda
# lsscsi -t
[0:0:351:0] disk sas:0x5000c50041ea5265 /dev/sdb
[0:0:352:0] disk sas:0x5000c500418fac39 /dev/sdc
[0:0:353:0] disk sas:0x5000c5000d2161f1 /dev/sdd
[0:0:354:0] disk sas:0x4433221105000000 /dev/sde
[0:0:355:0] disk sas:0x4433221106000000 /dev/sdf
[0:0:356:0] disk sas:0x4433221107000000 /dev/sdg
[0:0:357:0] disk sas:0x4433221104000000 /dev/sdh
[1:0:0:0] disk sata: /dev/sda
//=================================================PhyNum PhyNum
[0:0:351:0] disk SEAGATE ST3500414SS 0006 /dev/sdb 2 1 [0:0:352:0] disk SEAGATE ST3500414SS 0006 /dev/sdc 3 0
[0:0:353:0] disk SEAGATE ST3500620SS 0001 /dev/sdd 1 2
[0:0:354:0] disk ATA ST3500413AS JC45 /dev/sde 6 5
[0:0:355:0] disk ATA ST1000VX000-1CU1 CV22 /dev/sdf 5 6
[0:0:356:0] disk ATA ST1000DM003-1CH1 CC44 /dev/sdg 4 7
[0:0:357:0] disk ATA ST1000DM003-9YN1 CC4D /dev/sdh 7 4
[1:0:0:0] disk ATA ST1000DM003-9YN1 CC4B /dev/sda
# lsscsi -t
[0:0:351:0] disk sas:0x5000c50041ea5265 /dev/sdb
[0:0:352:0] disk sas:0x5000c500418fac39 /dev/sdc
[0:0:353:0] disk sas:0x5000c5000d2161f1 /dev/sdd
[0:0:354:0] disk sas:0x4433221105000000 /dev/sde
[0:0:355:0] disk sas:0x4433221106000000 /dev/sdf
[0:0:356:0] disk sas:0x4433221107000000 /dev/sdg
[0:0:357:0] disk sas:0x4433221104000000 /dev/sdh
[1:0:0:0] disk sata: /dev/sda
LSIUtil 的第42個功能是有Bug的 (LSIUtil 1.71以前, 1.72的 Source Code還沒有時間研究)
42. Display operating system names for devices
在特定的時候, OS Devices Name 會取得失敗
因為 lsiutil 使用兩種方式
在 getOsDeviceNameEx(...)中
第一種是
n = readlink(pathName, linkName, (int)sizeof linkName);
這會取得失敗
例如:
"/sys/class/scsi_device/0:0:351:0/device/block/"
第二種是
n = ioctl(fd, SCSI_IOCTL_GET_IDLUN, id);
這個取得的 id[0] 會是錯誤的號碼.
所以兩種都得不正確的 OS Devices Name /dev/sdx
猜測 SCSI_IOCTL_GET_IDLUN 對於Target ID大於 254 會出問題
有時間再去查這部份的 Linux Source Code
請參考 lsscsi的 source Code
這是取得失敗的畫面
2016年3月29日 星期二
Linux Samba Client Mount 遠端 SMB Server 幾種方式
原文
http://www.vixual.net/blog/archives/228
[smbmount]
smbmount -o username="Username",password="Password" //IP/share /mnt/smb
smbumount /mnt/smb
[mount]
mount -t smbfs -o username="Username",password="Password" //IP/share /mnt/smb
umount /mnt/smb
[cifs]
mount -t cifs -o username="Username",password="Password" //IP/share /mnt/smb
umount /mnt/smb
mount.cifs -o username="Username",password="Password" //IP/share /mnt/smb
umount.cifs /mnt/smb
http://www.vixual.net/blog/archives/228
[smbmount]
smbmount -o username="Username",password="Password" //IP/share /mnt/smb
smbumount /mnt/smb
[mount]
mount -t smbfs -o username="Username",password="Password" //IP/share /mnt/smb
umount /mnt/smb
[cifs]
mount -t cifs -o username="Username",password="Password" //IP/share /mnt/smb
umount /mnt/smb
mount.cifs -o username="Username",password="Password" //IP/share /mnt/smb
umount.cifs /mnt/smb
Linux 程式的 Sleep 指令
方式 1:
一般的標準程式, 使用這個.
http://linux.die.net/man/3/usleep
#include <unistd.h>
usleep(microseconds);
方式 2:
有啟用 pthread後, 再使用這個.
http://linux.die.net/man/3/pthread_cond_timedwait
#include <pthread.h>
pthread_cond_timedwait(pthread_cond_t* cond, pthread_mutex_t *mutex, const struct timespec *abstime)
範例:
http://www.verydemo.com/demo_c167_i14933.html
http://fanli7.net/a/JAVAbiancheng/thread/2012/0827/212673.html
gcc ++ 在 Link 時, 要增加一個 pthread
2016年3月28日 星期一
Linux 簡易讀寫 Ini檔案
利用幾個 C函式, 可以快速對 ini 讀寫
minIni - a minimal INI file parser
原來來自
http://www.compuphase.com/minini.htm
Ubuntu Processes View
1:
軟體中心, 安裝 GNOME 系統監控程式
2:
軟體中心, 安裝 Htop程式
3:
軟體中心, 安裝 KsysGuard程式
4:
原文在此
http://www.cyberciti.biz/faq/show-all-running-processes-in-linux/
$ ps aux | less
$ ps -A
$ ps -e
-A: select all processes
a: select all processes on a terminal, including those of other users
x: select processes without controlling ttys
$ ps -U root -u root -N
root 是使用者 root 帳號
$ ps -u xxx
xxx 是使用者帳號
$ pstree
軟體中心, 安裝 GNOME 系統監控程式
軟體中心, 安裝 Htop程式
3:
軟體中心, 安裝 KsysGuard程式
4:
原文在此
http://www.cyberciti.biz/faq/show-all-running-processes-in-linux/
$ ps aux | less
$ ps -A
$ ps -e
-A: select all processes
a: select all processes on a terminal, including those of other users
x: select processes without controlling ttys
$ ps -U root -u root -N
root 是使用者 root 帳號
$ ps -u xxx
xxx 是使用者帳號
$ pstree
2016年3月27日 星期日
Ubuntu上要設定開機後自動登入Console Mode
要改成文字模式做法是編輯 /etc/default/grub,
1: 將 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" 此行註解掉
2: 然後將 GRUB_TERMINAL=console 那一行取消註解
(或用另一種做法,修改某一行的設定:GRUB_CMDLINE_LINUX_DEFAULT="text",
但此法較不推!),
存檔離開後,下 sudo update-grub 指令來更新開機管理程式之設定檔,
重新開機即為所求。
(P.S. 要切換回視窗介面,在文字介面下 startx 指令不一定能完全切換。
可用 sudo /etc/init.d/lightdm start)
另一種方式
安裝虛擬終端機程式 mingetty
apt-get update
apt-get install mingetty
修改開機到文字介面
/etc/default/grub
將GRUB_CMDLINE_LINUX_DEFAULT設定值改為text(原本是quiet splash)
設定完成後更新grub
sudo update-grub
設定自動登入
sudo vi /etc/init/tty1.conf
將 exec /sbin/getty -8 38400 tty1
修改成
exec /sbin/mingetty --autologin root tty1即可
完成上述三個步驟,重新開機後就可以看到系統開啟文字終端機並且以root帳號自動登入,若要改成其他帳號登入,可將第三步驟的root改成對應帳號名稱。
1: 將 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" 此行註解掉
2: 然後將 GRUB_TERMINAL=console 那一行取消註解
(或用另一種做法,修改某一行的設定:GRUB_CMDLINE_LINUX_DEFAULT="text",
但此法較不推!),
存檔離開後,下 sudo update-grub 指令來更新開機管理程式之設定檔,
重新開機即為所求。
(P.S. 要切換回視窗介面,在文字介面下 startx 指令不一定能完全切換。
可用 sudo /etc/init.d/lightdm start)
另一種方式
安裝虛擬終端機程式 mingetty
apt-get update
apt-get install mingetty
修改開機到文字介面
/etc/default/grub
將GRUB_CMDLINE_LINUX_DEFAULT設定值改為text(原本是quiet splash)
設定完成後更新grub
sudo update-grub
設定自動登入
sudo vi /etc/init/tty1.conf
將 exec /sbin/getty -8 38400 tty1
修改成
exec /sbin/mingetty --autologin root tty1即可
完成上述三個步驟,重新開機後就可以看到系統開啟文字終端機並且以root帳號自動登入,若要改成其他帳號登入,可將第三步驟的root改成對應帳號名稱。
Ubuntu 硬碟休眠
Ubuntu 硬碟休眠
hdparm -Y /dev/hd*:使硬碟進入睡眠模式;
hdparm -y /dev/hd*:使硬碟進入省電模式;
hdparm -S[num] /dev/hd*:設置超時值使硬碟進入睡眠模式
查看硬碟參數:
hdparm /dev/hda
hdparm -Y /dev/hd*:使硬碟進入睡眠模式;
hdparm -y /dev/hd*:使硬碟進入省電模式;
hdparm -S[num] /dev/hd*:設置超時值使硬碟進入睡眠模式
查看硬碟參數:
hdparm /dev/hda
Ubuntu 列出 SCSI 磁碟機裝置
/dev/sd: sda 就是 SCSI 的硬碟. (but also SATA and USB disks)
/dev/scd: SCSI audio-oriented optical disc drives
/dev/sd: SCSI hard disks (also SATA or USB disks)
/dev/sg: SCSI generic devices
/dev/sr: SCSI data-oriented optical disc drives
/dev/st: SCSI magnetic tapes
lsscsi使用說明
http://sg.danny.cz/scsi/lsscsi.html
$ apt-get install lsscsi
$ lsscsi
$ lsscsi 顯示所有連接裝置
[0:0:8:0] disk FUJITSU MAM3184MP 0105 /dev/sda
$ lsscsi -s 顯示裝置,並顯示容量。
[0:0:0:0] cd/dvd PIONEER DVD-RW DVR-212D 1.22 /dev/sr0 -
[1:0:0:0] disk ATA ST3320620AS 3.AA /dev/sda 320GB
$ lsscsi -c 顯示類似 'cat /proc/scsi/scsi'
Attached devices:
Host: scsi0 Channel: 00 Id: 08 Lun: 00
Vendor: FUJITSU Model: MAM3184MP Rev: 0105
Type: Direct-Access ANSI SCSI revision: 03
$ lsscsi -d 顯示裝置節點的主要與次要的數值
[0:0:1:0] disk FUJITSU MAM3184MP 0105 /dev/sda[8:0]
$ lsscsi -H 顯示邏輯單位(LUN:logical units)
[0] scsi_debug
[1] aha152x
$ lsscsi -t 顯示傳輸資訊
[0:0:0:0] disk sata: /dev/sda
[3:0:0:0] cd/dvd ata: /dev/scd0
[5:0:0:0] disk usb: 7-1:1.0 /dev/sdb
$ lsscsi -Ht 顯示邏輯單位的傳輸資訊
[0] ahci sata:
[1] ahci sata:
[3] ata_piix ata:
其他相關
$ apt-get install sg3-utils
$ sg_scan -i -x
$sg_map
$sg_map -i -x
Soiurce Code:
https://fossies.org/dox/sg3_utils-1.42/sg__map_8c_source.html
$sg_inq /dev/sg0
$sginfo -i /dev/sg0
在不重開機情形下重新掃描SCSI裝置
$rescan-scsi-bus.sh
$blkid
Ubuntu 列出磁碟機 Partitions 訊息
# lsblk
or
# sudo fdisk -l
# sudo fdisk -l
# sudo sfdisk -l /dev/sda
# sudo sfdisk -lu /dev/sda
# sudo sfdisk -ls /dev/sda
Listing Linux a Partition Size Larger Than 2TB
# parted /dev/sdb
(parted) unit TB
or
(parted) unit GB
(parted) print
# parted -l
or
# sudo fdisk -l
# sudo fdisk -l
# sudo sfdisk -l /dev/sda
# sudo sfdisk -lu /dev/sda
# sudo sfdisk -ls /dev/sda
Listing Linux a Partition Size Larger Than 2TB
# parted /dev/sdb
(parted) unit TB
or
(parted) unit GB
(parted) print
# parted -l
Ubuntu 列出 PCI-E Bus 裝置
原文
http://b8807053.pixnet.net/blog/post/45059362-linux下查看pci-e插槽信息
# lspci
# lspci -n
http://b8807053.pixnet.net/blog/post/45059362-linux下查看pci-e插槽信息
# lspci
# lspci -n
Ubuntu 安裝Samba Server
Ubuntu 安裝 Samba Server
[1]
$ apt-get install samba
[2]
新增Samba Server的使用者 xxx
$ smbpasswd -a XXX
編輯檔案內容
/etc/samba/smb.conf
(1)
[global]
workgroup = root
security = share
(2)尾部加入
下面 = 的右邊 root , 就是smbpasswd新增的帳號名稱
因為在程式開發階段, 習慣用 root登入ubuntu桌面環境
[Home]
path = /home/jun
writable = yes
guest account = root
force user = root
public = yes
force group = root
[Root]
path = /
writable = yes
guest account = root
force user = root
public = yes
force group = root
[4]重新啟動 Samba Server
sudo /etc/init.d/samba restart
[5]將 Unbutu 電腦重新開機
不重新開機, Windows 端會連線不到,
[6]在Windows設定
在網路上的芳鄰圖示下按右鍵,
選 "連線網路磁碟機"
磁碟機: 任選
資料夾: \\Ubuntu下所設IP\分享資料夾的名稱
PS:
使用 ifconfig 指令, 可以觀看 Unbutu 的網路卡 IP 資訊
[1]
$ apt-get install samba
[2]
新增Samba Server的使用者 xxx
$ smbpasswd -a XXX
例如新增一個 root 帳號
$ smbpasswd -a root
[3]
設定Samba編輯檔案內容
/etc/samba/smb.conf
(1)
[global]
workgroup = root
security = share
(2)尾部加入
下面 = 的右邊 root , 就是smbpasswd新增的帳號名稱
因為在程式開發階段, 習慣用 root登入ubuntu桌面環境
[Home]
path = /home/jun
writable = yes
guest account = root
force user = root
public = yes
force group = root
[Root]
path = /
writable = yes
guest account = root
force user = root
public = yes
force group = root
[4]重新啟動 Samba Server
sudo /etc/init.d/samba restart
[5]將 Unbutu 電腦重新開機
不重新開機, Windows 端會連線不到,
[6]在Windows設定
在網路上的芳鄰圖示下按右鍵,
選 "連線網路磁碟機"
磁碟機: 任選
資料夾: \\Ubuntu下所設IP\分享資料夾的名稱
PS:
使用 ifconfig 指令, 可以觀看 Unbutu 的網路卡 IP 資訊
2016年3月25日 星期五
Unbutu Chrome 瀏覽器會要求"輸入預設鑰匙圈的密碼"解決方法
Unbutu Chrome 瀏覽器會要求"輸入預設鑰匙圈的密碼"解決方法
方法一:
原文來自
http://digitized-life.blogspot.tw/2012/09/xubuntu-chrome.html
開啟檔案管理
輸入搜尋的字串 keyrings 都會
會顯示出好幾個和keyring有相關目錄
點選打開每一個目錄
查看檔案是否有一個 預設鑰匙圈密碼.keyring
將這個檔案刪除
登出桌面帳號, 再重新登入
開啟 Chrome
在Chrome的對話框"選擇登入鑰匙圈的密碼"畫面, 直接點選"確定"
Chrome會再出一個對話框詢問"是否儲存不加密的密碼:
點選"確定"
登出桌面帳號, 再重新登入
方法二:
如果還是無效
開啟 "密碼及加密金鑰"
點選"預設鑰匙"->按滑鼠右鑑 -> 刪除
在重新登入 Ubuntu
方法一:
原文來自
http://digitized-life.blogspot.tw/2012/09/xubuntu-chrome.html
開啟檔案管理
輸入搜尋的字串 keyrings 都會
會顯示出好幾個和keyring有相關目錄
點選打開每一個目錄
查看檔案是否有一個 預設鑰匙圈密碼.keyring
將這個檔案刪除
登出桌面帳號, 再重新登入
開啟 Chrome
在Chrome的對話框"選擇登入鑰匙圈的密碼"畫面, 直接點選"確定"
Chrome會再出一個對話框詢問"是否儲存不加密的密碼:
點選"確定"
登出桌面帳號, 再重新登入
方法二:
如果還是無效
開啟 "密碼及加密金鑰"
點選"預設鑰匙"->按滑鼠右鑑 -> 刪除
在重新登入 Ubuntu
2016年3月24日 星期四
Ubuntu 安裝 QT5
https://www.qt.io/download-open-source/#section-2
Qt 5.6.0 for Linux 64-bit
http://download.qt.io/archive/qt/5.6/5.6.0/
http://download.qt.io/official_releases/qt/5.6/5.6.0/qt-opensource-linux-x64-5.6.0.run
Qt Creator 3.6.1 for Linux/X11 64-bit
http://download.qt.io/official_releases/qtcreator/3.6/3.6.1/qt-creator-opensource-linux-x86_64-3.6.1.run
QT5.5
檔案下載
https://www.qt.io/download-open-source/
Qt 5.5.0 for Linux 64-bit (532 MB) (info)
http://download.qt.io/official_releases/qt/5.5/5.5.0/qt-opensource-linux-x64-5.5.0-2.run
http://download.qt.io/archive/qt/5.5/5.5.0/
下載變更檔案
sudo chmod +x qt-opensource-linux-x64-5.5.0-2.run
安裝程式
sudo qt-opensource-linux-x64-5.5.0-2.run
QT4.8.6
http://download.qt.io/archive/qt/4.8/4.8.6/
http://blog.sina.com.cn/s/blog_4d661a8c0100jnpq.html
QT Qidgets Applicaption會使用到 OpenGL
請參考這篇 Howto Install OpenGL Development Environment
http://wiki.ubuntu-tw.org/index.php?title=Howto_Install_OpenGL_Development_Environment#.E5.AE.89.E8.A3.9DOpenGL_Library
Qt 5.6.0 for Linux 64-bit
http://download.qt.io/archive/qt/5.6/5.6.0/
http://download.qt.io/official_releases/qt/5.6/5.6.0/qt-opensource-linux-x64-5.6.0.run
Qt Creator 3.6.1 for Linux/X11 64-bit
http://download.qt.io/official_releases/qtcreator/3.6/3.6.1/qt-creator-opensource-linux-x86_64-3.6.1.run
QT5.5
檔案下載
https://www.qt.io/download-open-source/
Qt 5.5.0 for Linux 64-bit (532 MB) (info)
http://download.qt.io/official_releases/qt/5.5/5.5.0/qt-opensource-linux-x64-5.5.0-2.run
http://download.qt.io/archive/qt/5.5/5.5.0/
下載變更檔案
sudo chmod +x qt-opensource-linux-x64-5.5.0-2.run
安裝程式
sudo qt-opensource-linux-x64-5.5.0-2.run
QT4.8.6
http://download.qt.io/archive/qt/4.8/4.8.6/
http://blog.sina.com.cn/s/blog_4d661a8c0100jnpq.html
QT Qidgets Applicaption會使用到 OpenGL
請參考這篇 Howto Install OpenGL Development Environment
http://wiki.ubuntu-tw.org/index.php?title=Howto_Install_OpenGL_Development_Environment#.E5.AE.89.E8.A3.9DOpenGL_Library
安裝QT開發的Eclipse插件-Windows 版本
其實QTCreate 已經很完善了.
國外使用者建議是使用 Eclipse CDT Indigo + qt-eclipse-integration-win32-1.6.1.exe
但我還未進行測試
另有一篇教學
http://qimo601.iteye.com/blog/1614945
相關檔案都放在 github
https://github.com/ygpark/nokia-qteclipse/find/master
Install mingw-get-inst-20110802.exe. After installation I have D:\apps\MinGW\bin\mingw32-g++.exe
Install qt-win-opensource-4.7.0-mingw.exe. After installation, I have D:\apps\Nokia\Qt\4.7.0\bin\qmake.exe
Install qt-eclipse-integration-win32-1.6.1.exe. After installation I have D:\apps\Nokia\Eclipse\start.bat
modify D:\apps\Nokia\Eclipse\start.bat
set PATH=D:\apps\MinGW\bin;D:\apps\Nokia\Qt\4.7.0\bin;%SystemRoot%\System32
Check QT path in Eclipse:
Window -> Preferences -> Qt
Bin Path: D:\apps\Nokia\Qt\4.7.0\bin
Include Path: D:\apps\Nokia\Qt\4.7.0\include
Start -> All Programs -> Qt by Nokia v4.7.0 (OpenSource) -> Qt 4.7.0 (Build Debug Libraries)
Start -> All Programs -> Qt Eclipse Integration v1.6.1 -> Start Eclipse with MinGW
Create a new Qt project in Eclipse;
Update make file by menu “Project” -> “Run qmake”
國外使用者建議是使用 Eclipse CDT Indigo + qt-eclipse-integration-win32-1.6.1.exe
但我還未進行測試
另有一篇教學
http://qimo601.iteye.com/blog/1614945
相關檔案都放在 github
https://github.com/ygpark/nokia-qteclipse/find/master
Install mingw-get-inst-20110802.exe. After installation I have D:\apps\MinGW\bin\mingw32-g++.exe
Install qt-win-opensource-4.7.0-mingw.exe. After installation, I have D:\apps\Nokia\Qt\4.7.0\bin\qmake.exe
Install qt-eclipse-integration-win32-1.6.1.exe. After installation I have D:\apps\Nokia\Eclipse\start.bat
modify D:\apps\Nokia\Eclipse\start.bat
set PATH=D:\apps\MinGW\bin;D:\apps\Nokia\Qt\4.7.0\bin;%SystemRoot%\System32
Check QT path in Eclipse:
Window -> Preferences -> Qt
Bin Path: D:\apps\Nokia\Qt\4.7.0\bin
Include Path: D:\apps\Nokia\Qt\4.7.0\include
Start -> All Programs -> Qt by Nokia v4.7.0 (OpenSource) -> Qt 4.7.0 (Build Debug Libraries)
Start -> All Programs -> Qt Eclipse Integration v1.6.1 -> Start Eclipse with MinGW
Create a new Qt project in Eclipse;
Update make file by menu “Project” -> “Run qmake”
安裝QT開發的Eclipse插件-Linux 版本
QT for Eclipse已停止開發,
一般都建議直接使用 QT Create
安裝QT開發的Eclipse插件-Linux 版本
相關檔案都放在 github
https://github.com/ygpark/nokia-qteclipse/find/master
https://github.com/ygpark/nokia-qteclipse/blob/master/qt-eclipse-integration-linux.x86_64-1.6.1-src.tar.gz
https://github.com/ygpark/nokia-qteclipse/blob/master/qt-eclipse-integration-linux.x86_64-1.6.1.tar.gz
文件- Installation and Uninstallation
https://doc.qt.io/archives/qt-eclipse-1.6/eclipse-integration-installation.html
一般都建議直接使用 QT Create
安裝QT開發的Eclipse插件-Linux 版本
相關檔案都放在 github
https://github.com/ygpark/nokia-qteclipse/find/master
https://github.com/ygpark/nokia-qteclipse/blob/master/qt-eclipse-integration-linux.x86_64-1.6.1-src.tar.gz
https://github.com/ygpark/nokia-qteclipse/blob/master/qt-eclipse-integration-linux.x86_64-1.6.1.tar.gz
文件- Installation and Uninstallation
https://doc.qt.io/archives/qt-eclipse-1.6/eclipse-integration-installation.html
Unbutu 安裝 KDevelop 4
Unbutu 安裝 KDevelop 4
apt-get install kdevelop cmake build-essential
變更軟體語言
Memu -> Help -> switch Applicaption Language...
apt-get install kdevelop cmake build-essential
變更軟體語言
Memu -> Help -> switch Applicaption Language...
Unbutu 安裝 g++ 編譯器
Unbutu 安裝 g++ 編譯器
原文來自
http://www.cnblogs.com/oomusou/archive/2007/10/20/931707.html
http://blog.sciencenet.cn/blog-587102-780484.html
1:
apt-get install g++
2:
安裝完整的工具及lib
apt-get install build-essential
其他:
1: 修復安裝失敗時, 再一次安裝
apt-get install build-essential --fix-missing
2: 查詢軟體的安裝目錄
dpkg -L 軟體名稱
$ dpkg -Lgcc
$ dpkg -Lgcc-4.4
$ dpkg -Lg++
$ dpkg -L g++-4.4
原文來自
http://www.cnblogs.com/oomusou/archive/2007/10/20/931707.html
http://blog.sciencenet.cn/blog-587102-780484.html
1:
apt-get install g++
2:
安裝完整的工具及lib
apt-get install build-essential
其他:
1: 修復安裝失敗時, 再一次安裝
apt-get install build-essential --fix-missing
2: 查詢軟體的安裝目錄
dpkg -L 軟體名稱
$ dpkg -Lgcc
$ dpkg -Lgcc-4.4
$ dpkg -Lg++
$ dpkg -L g++-4.4
2016年3月23日 星期三
Linux RS-232 工具軟體
Linux RS-232 工具軟體
Linux RS-232 程式設計
GtkTerm
http://odinq.blogspot.tw/2009/01/ubuntu-gtkterm.html
$ apt-get install gtkterm
CuteCom
$ apt-get install cutecom
MiniCom
$ apt-get install minicom
啟動 minicom 設定環境
$ minicom -s
啟動 minicom為英文模式
$ LANG= minicom -s
( 請注意, 上面這行的指令, = 和minicom 中間有一個空白)
設定minicom的參數
Serial port setup: 設定 serial device (/dev/ttyS0)、baud rate
Modem and dialing: 將 Init string、Reset string 設成空字串
Screen and keyboard: Status line Is : disabled
Save setup as dfl: 儲存設定 ~/.minirc.dfl
可以使用 Ctrl-A , 再按 x 退出 minicom軟體
重新啟動 minicom, 後面就可以不用帶參數
$ minicom
PS:
COM1 是用 /dev/ttyS0
USB轉RS-232 是用 /dev/ttyUSB0
顯示 USB 裝置的資訊
$ ls -l /dev/ttyUSB0
$ lsusb
$ lsusb -v
Linux RS-232 程式設計
GtkTerm
http://odinq.blogspot.tw/2009/01/ubuntu-gtkterm.html
$ apt-get install gtkterm
CuteCom
$ apt-get install cutecom
MiniCom
$ apt-get install minicom
啟動 minicom 設定環境
$ minicom -s
啟動 minicom為英文模式
$ LANG= minicom -s
( 請注意, 上面這行的指令, = 和minicom 中間有一個空白)
設定minicom的參數
Serial port setup: 設定 serial device (/dev/ttyS0)、baud rate
Modem and dialing: 將 Init string、Reset string 設成空字串
Screen and keyboard: Status line Is : disabled
Save setup as dfl: 儲存設定 ~/.minirc.dfl
可以使用 Ctrl-A , 再按 x 退出 minicom軟體
重新啟動 minicom, 後面就可以不用帶參數
$ minicom
PS:
COM1 是用 /dev/ttyS0
USB轉RS-232 是用 /dev/ttyUSB0
顯示 USB 裝置的資訊
$ ls -l /dev/ttyUSB0
$ lsusb
$ lsusb -v
Ubuntu 查看所有硬體列表
Ubuntu 查看所有硬體列表
$ lshw
list all PCI devices
$ lspci
安裝 GUI hardinfo 工具
$ apt-get install hardinfo
$ hardinfo
$ lshw
list all PCI devices
$ lspci
安裝 GUI hardinfo 工具
$ apt-get install hardinfo
$ hardinfo
Ubuntu 查看所有硬碟列表
有下列各種方法
$ desktop 內含的磁碟工具
$ lsblk
$ fdisk -l
$ sfdisk -l -uM
$ cfdisk
$ parted -l
$ df -h
$ pydf
$ blkid
$ desktop 內含的磁碟工具
$ lsblk
$ fdisk -l
$ sfdisk -l -uM
$ cfdisk
$ parted -l
$ df -h
$ pydf
$ blkid
Ubuntu 安裝 Eclipse IDE for C/C++ Developers
Ubuntu 安裝 Eclipse IDE for C/C++ Developers
請先安裝 g++ 編譯器
本人習慣使用 Juno Packages
http://www.eclipse.org/downloads/packages/release/Juno/SR2
http://www.eclipse.org/downloads/packages/eclipse-ide-cc-developers/junosr2
下載 eclipse-cpp-juno-SR2-linux-gtk-x86_64.tar.gz
直接在 Ubuntu下解壓縮下載 gz檔案
Ubuntu在執行解壓縮後的 eclipse 目錄下的 eclipse 檔案
PS: 如果發現 JAVE JRE 找不到, 請安裝 JAVE JRE.
http://snoopymemory.blogspot.tw/2016/03/ubuntu-open-java-jdk-jre.html
Eclipse 換為英文
修改 eclipse.ini
增加下面這一行
-Duser.language=en_US
請先安裝 g++ 編譯器
本人習慣使用 Juno Packages
http://www.eclipse.org/downloads/packages/release/Juno/SR2
http://www.eclipse.org/downloads/packages/eclipse-ide-cc-developers/junosr2
下載 eclipse-cpp-juno-SR2-linux-gtk-x86_64.tar.gz
直接在 Ubuntu下解壓縮下載 gz檔案
Ubuntu在執行解壓縮後的 eclipse 目錄下的 eclipse 檔案
PS: 如果發現 JAVE JRE 找不到, 請安裝 JAVE JRE.
http://snoopymemory.blogspot.tw/2016/03/ubuntu-open-java-jdk-jre.html
Eclipse 換為英文
修改 eclipse.ini
增加下面這一行
-Duser.language=en_US
Ubuntu 安裝 Open JAVA JDK 和 JRE
Ubuntu 安裝 Open JAVA JDK 和 JRE
原文: http://linuxpilot.com/ubuntu-java
安裝 JRE
sudo apt-get install default-jre
安裝 JDK
sudo apt-get install default-jdk
PS: 要安裝Java 7或者Java 6
使用 openjdk-7-jdk 或 openjdk-6jdk
和 openjdk-7-jre 或 openjdk-6-jre
Ubuntu 安裝 Oracle JAVA JDK 和 JRE
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
sudo apt-get install oracle-java8-set-default
PS: 安裝Java 7(i.e Java 1.7), 在上面的命令中用 java7 代替 java8
原文: http://linuxpilot.com/ubuntu-java
安裝 JRE
sudo apt-get install default-jre
安裝 JDK
sudo apt-get install default-jdk
PS: 要安裝Java 7或者Java 6
使用 openjdk-7-jdk 或 openjdk-6jdk
和 openjdk-7-jre 或 openjdk-6-jre
Ubuntu 安裝 Oracle JAVA JDK 和 JRE
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
sudo apt-get install oracle-java8-set-default
PS: 安裝Java 7(i.e Java 1.7), 在上面的命令中用 java7 代替 java8
2016年3月22日 星期二
Ubuntu 安裝 Intel Graphics for Linux
下載和Ubuntu相同的版本
執行後, 在軟體中心點選進行安裝.
https://01.org/zh/linuxgraphics/downloads
Google Chrome 在 root 帳號下執行
終端機指令
google-chrome --user-data-dir
unbutu 啟動欄修改方法
打開 /usr/share/applicaions/google-chrome.desktop
修改
Exec=/user/bin/google-chrome-stable %U
變為
Exec=/user/bin/google-chrome-stable --user-data-dir %U
一共有三個, 都增加 --user-data-dir
google-chrome --user-data-dir
unbutu 啟動欄修改方法
打開 /usr/share/applicaions/google-chrome.desktop
修改
Exec=/user/bin/google-chrome-stable %U
變為
Exec=/user/bin/google-chrome-stable --user-data-dir %U
一共有三個, 都增加 --user-data-dir
Ubuntu啟用root賬戶後,登錄root賬戶時ttyname failed
原文來自
http://www.openhacktech.com/?p=89
Ubuntu啟用root賬戶後,登錄root賬戶時報錯:讀取/root/.profile時發現錯誤:mesg:ttyname failed:對設備不適當的ioctl操作 作為結果,會話不會被正確配置
方法一:
將/root/.profile文件中的mesg n
替換成tty -s && mesg n
重啟
方法二:
將非root賬戶目錄中的.profile複製到/root/:
例如:cp /home/username/.profile /root/
重啟
http://www.openhacktech.com/?p=89
Ubuntu啟用root賬戶後,登錄root賬戶時報錯:讀取/root/.profile時發現錯誤:mesg:ttyname failed:對設備不適當的ioctl操作 作為結果,會話不會被正確配置
方法一:
將/root/.profile文件中的mesg n
替換成tty -s && mesg n
重啟
方法二:
將非root賬戶目錄中的.profile複製到/root/:
例如:cp /home/username/.profile /root/
重啟
ubuntu 14.04 以後版本, 設置root自動登入
ubuntu14.04 或 15.10 設置root自動登入
試了各種方式, 終於在這位網友找到答案
原文來自
http://www.linuxdiyf.com/linux/17872.html
1: 建立 root 用戶密碼
sudo passwd root
2: 切換到root用戶
sudo -s
3: 登錄界面實現root登錄
gedit /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf
將檔案內容修改成下列
[SeatDefaults]
user-session=ubuntu
#啟動後以root身份自動登錄
autologin-user=root
greeter-session=unity-greeter
#手工輸入登陸系統的用戶名和密碼
greeter-show-manual-login=true
#禁用guest用戶
allow-guest=false
替換成 tty -s && mesg n
5: 重啟 ubuntu
reboot
試了各種方式, 終於在這位網友找到答案
原文來自
http://www.linuxdiyf.com/linux/17872.html
1: 建立 root 用戶密碼
sudo passwd root
2: 切換到root用戶
sudo -s
3: 登錄界面實現root登錄
gedit /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf
將檔案內容修改成下列
[SeatDefaults]
user-session=ubuntu
#啟動後以root身份自動登錄
autologin-user=root
greeter-session=unity-greeter
#手工輸入登陸系統的用戶名和密碼
greeter-show-manual-login=true
#禁用guest用戶
allow-guest=false
4:
編輯 /root/.profile文件中的 mesg n替換成 tty -s && mesg n
5: 重啟 ubuntu
reboot
訂閱:
文章 (Atom)