- Alt + F2 輸入 gnome-terminal可開出terminal
- github
- unzip
- 輸入法:system settings 然後 Language Support 然後 install 缺少的package 然後登出再登入 ConfigureFcitx 選 + 選新酷音 關閉後會看到
- 繪圖軟體:KolourPaint
- 文字編輯器:notepadqq存檔的時候,記得設定語系,不然python會錯誤
- 文字編輯器:VIM sudo apt-get install vim a : append esc 跳回上層 VIM使用
GCC
- gcc -v是5.4.0太高,tensorflow build版本 用4.8 參考資料
- 決定全部降為4.8,參考文件 這裡
- sudo apt-get install gcc-4.8
- sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 100
- sudo update-alternatives --config gcc
- gcc -version 就是4.8.5
- 如果執行gcc-5 -v 就會看到原本
- 如果要全部變回來 sudo update-alternatives --remove gcc /usr/bin/gcc-4.8
循環登入問題
- 若不小心刪除或更新顯示卡的driver,就會造成螢幕解析度超大,GUI界面登入後不斷跳出要求重新登入的問題。例如安裝gnome-editor時居然也會出問題。
- 開機後,持續壓著shift按鈕,就會進入grub
- 選擇advance 繼續選擇 recovery mode (目前是 lunux 4.15.0-36-generic) 繼續選擇 root
- mount -o remount,rw / 參考說明
- mount --all
- sudo apt-get remove --purge nvidia-*
- reboot
- 進入系統後再重新安裝
- 不過,沒有用,下次的安裝還是會造成nvidia套件的問題,所以重灌了三次,唉
- 另外,軟體 text-editor 千萬不要裝,裝了似乎就會引起循環登入問題
File System Mount
- fisk -l 檢視目前硬碟狀況,條列每一個接上的硬碟
- 目前/dev/nvme0n1 是SSD 又分成三個 Linux(最大), Extended, Linux swap
- 目前/dev/sda 是傳統硬碟
- 目前/dev/sdb 是USB碟
- 目前/dev/sdb1,2,3,4 不知道是什麼
- ls /dev/[sh]d* 例如現在的/dev/sda /dev/sda1 /dev/sda2 /dev/sda5 /dev/sdb 用不到
- df -h 顯示出目前硬碟的掛載狀態
- fdisk -l /dev/sda 可以確定是傳統硬碟
- fdisk /dev/sda
- p: 列出目前全部的partition
- d: 刪除某個partition
- n: 新增分割區,輸入 n 按 Enter。
- 選擇要建立 extended 還是 primary partition,因為我的硬碟全部只要一個分割區,所以我選 primary,輸入 p 按 Enter。
- 選擇 Partition number,primary 分割區最多可以有四個,隨便選都可以,不過建議選 1,免得以後看起來很奇怪,輸入 1 按 Enter。
- 輸入開始的 cylinder,用預設值就可以了,直接按 Enter。
- 輸入結束的 cylinder,若是要用最大的容量,就直接按 Enter,若是要指定分割區的大小,就用 +size{K,M,G} 的形式指定,例如指定為 100G 的大小就輸入 +100G 再按 Enter。
- 最後將分割表寫入硬碟,輸入 w 再按 Enter。
- 若是要離開 fdisk 就輸入 q 按 Enter 就可以了。
- format : mkfs -t ext4 /dev/sda1
- more /etc/fstab 硬碟的 UUID 就像是它的身分證字號,每一顆硬碟都可不同的 UUID,使用 UUID 來指定磁碟就不會因為安裝的順序不同而產生變化,這樣做的好處是若是當磁碟常常要拔來拔去時,系統管理者不用再去更改 fstab 的設定,系統會自動尋找對應的 UUID 來掛載。
- sudo blkid 可以看到每個硬碟的UUID,利用這個資料,更新 /etc/fstab
- 更新 /etc/fstab 依樣畫葫蘆,新增加一行 UUID=ac001b70-682c-454d-8b96-dca2fb5da992 /data2 ext4 defaults 0 1
- 重新開機 mount /data2 可是最後發現 根本不需要這麼麻煩 系統似乎會自動抓取
定時備份
- 實在無法解決nvidia的衝突問題,決定安裝timeshift連結,定時備份可以回朔
- 系統 軟體和更新 關閉全部的通知機制 參考
- 最近一次是因為pip -force 會自動刪除掉許多模組,導致下次無法順利開機,解決方式是,用ubuntu安裝USB,設定為開機磁區,進入後,起動內建的GNOME UBUNTU,然後
apt-add-repository -y ppa:teejee2008/ppa
apt-get update
apt-get install timeshift
然後起動timeshift,找到1T那個槽,選擇最新的檔案,選第一個,然後繼續就會出現一堆add delete update的表,反正不能改,就繼續進行,然後重開機就完成
JAVA
- 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
- java -version
Android studio安裝
- Eclipse用了好多年,配合安裝Ubuntu,拾起Studio。參考資料
- download 約1G,已經放在1T硬碟
- unzip,執行bin裡面的studio.sh,這邊需要透過terminal來安裝。cd android-studio/bin/./ studio.sh
- install some files ( UI automatically )
- UI launcher open Android Studio,click on Tools menu / Create Desktop Entry. / This should create an entry on the dash.
- try to build it. Studio automatically download the file in background ( SDK ... once )
- 過程中原本是要放在/usr/local,不過出了很多問題,乾脆就留在目前usr目錄
- build還是有問題,發現是sdk沒有經過同意 如下 ~/Android/Sdk/tools/bin$ ./sdkmanager --licenses都選擇同意
- 編譯成功,無法放在simulator上執行,重新開啟一個專案執行run,會出現需要simulator,選擇一個後,花很長時間下載,仍不成功
- 調整bios 將cpu設定成可以允許vt,模擬器顯示成功
- adb 位置在 /home/kayjean/Android/Sdk/platform-tools
- 自己的N8手機,開啟攝定,版本部分按很多下後,就會進入開發者模式,再進入開發者模式,允許USB偵錯。接上ubuntu,使用adb devies成功
- 實際安裝進手機時,似乎版本不合,取得新版本後成功
- 最基本的範例是my application2
Android studio使用
- gradle架構,最大的範圍是project,裡面包含許多小的module,各個小的module(可能是app也可能是lib)都會有自己的build.gradle,參考資料
- 一個project要把各個module包含起來,就要使用file的project structure
- 沒有DDMS了,位置在SDK/tools/monitor 代替
Android studio NDK
- 目前系統安裝v18,如果從中文頁面進入是16b,16b可順利編譯但每次啟動android studio會跳出更新訊息。
- 遇到No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android錯誤訊息,就參考,到這裡,下載不同版本
- NDK安裝方式
- 總之,以上的方式都太過複雜,真正嘗試後,還是有問題。最簡單方式是程式啟動時,依照wizard指示,選擇有c++ support的選項,就可完成(雖然沒有.h檔案)。例如my application3
WebCam
- 以程式控制webcam,最基本為v4l2,基本範圍為C
- 進階為OpenCV,又可以區分成基本的C語言
- OpenCV - Python
- OpenCV - Python Thread版本
Ubuntu上使用Github
- 為了能夠多地點儲存以及rollback開始使用github
- sudo apt-get install git
- git config --global user.name "kayjean"
git config --global user.email "kayjean@gmail.com" - mkdir github cd github/
- git init Mytest (會新增實體目錄Mytest)
- cd Mytest 接下來在這個目錄中操作
- gedit README type some messages
- gedit sample.c type some messages
- git add README
- git add sample.c
- git status 可以看到目前還有哪些沒有被commit
- git commit -m "my first commit"
- create a repository on github with the same name using UI function( 內部測試,都設定為private模式)
git remote add origin https://github.com/kayjean/Mytest.git git push -u origin master 輸入帳號密碼 完成上傳和sync的動作 - try to update sample.c or create a new file sample2.c
- git add .
- git commit -m "my xxx commit" 重複上面push
- 取消:commit前,取消先前add的內容可以使用 git reset HEAD [filename 包括目錄]
- 取消:commit後,git log --oneline 看到最後一個動作的號碼 git reset e12最後一次號碼d8ef^
下一階段就是增添ignore目錄 下載github專案,拷貝URL後,到目錄下git clone 網址,會新增加那個目錄 其他參考 連結一 連結二 連結三
沒有留言:
張貼留言