2021年10月13日 星期三

[Raspbian]搜尋隱藏ssid

Raspbian用GUI看不到隱藏的ssid,也沒地方可以輸入

如果要連隱藏的ssid需要編輯

/etc/wpa_supplicant/wpa_supplicant.conf 檔案


>sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

 檔案大概長這樣


ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=TW

network={
        ssid="mySSID"
        scan_ssid=1
        psk="PW"
        key_mgmt=WPA-PSK
}

將network={}的內容改成欲連線的SSID

要注意要有 scan_ssid=1才會去連隱藏的SSID

我自己測的時候network={}只能有一組,因此需要先將原本的network={}刪除,否則重開機後新增的SSID會不見

完成之後存檔重開機

2021年9月13日 星期一

移動式冷氣使用心得,如何吹得涼,吹整晚耗電量

 先說結論,在特定的條件下,移動式冷氣確實可以吹得涼,耗電量也可以接受。當住的地方無法安裝一般冷氣,不失為一個度過炎炎夏日,讓你一夜好眠的選擇。


今年夏天因為住的地方沒裝冷氣,所以就研究了一下移動冷氣。

Netflix集數卡住

 最近在看斯卡羅,但不知怎麼搞得,明明更新到第十集了,我的Netflix卻停留在第二集

是可以繼續往下看,但要一集一集往下跳,好麻煩..

後來在Dcard上看到,原來只要登出在登入就能解決了!

實測成功!

2021年8月23日 星期一

中華電信光世代HN密碼去哪找?

測試日期: 2021/08/23

因為工作要用到關係,申請Hinet光世代


記得以前裝機完都會給一張帳號密碼小卡,這次沒注意到沒給,剛剛要繳第一個月帳單,發現中華電信APP需要用HN帳密去綁

2021年8月4日 星期三

resize /home without live CD / USB 重新分割 /home

OS: Ubuntu 18.04

前提 / 跟 /home(目標partition) 在不同partition

因為電腦一開始swap割太小,想重新分割/home,分點給swap

但電腦因為某些原因不能使用USB/CD boot...

看有個說法是可以用fdisk去割,但感覺毛毛的,之前割另一台raspberry pi,用fdisk割完就整台掛了..

想說還是GPart安全,但gpart會有/home沒卸載不能割的狀況

1. 建立新的 user gp

sudo useradd -s /bin/bash -d /gpHome -m -G sudo gp

2. 登出目前user,以新user登入

3. 卸載 /home 

若嘗試
sudo umount /home
會得到 umount: /home: target is busy. 這時候可以用
sudo fuser -m /home
查看誰鎖住了 /home 再用
sudo kill -9 pid
去殺,或
sudo fuser -mvik /home
sudo umount /home

4. gpart

gpart

2021年7月24日 星期六

c++ const method

 一個method被標記為const 表示他不會改變所屬class的member,function若能被標記為const應盡量這麼做

class A{
  int b;
  void c(){
      b = 0; // compiling error
  };
};

pixel 3a navigation button die

 I found sometimes my pixel 3a's navigation buttons die, sometimes include lower part of the keyboard, which is really annoying, make me can't go back to last page / home or typing.

Recently I found out it's cause by high temperature (but not extremely high, hence I'm still holding it by my hand), putting a usb fan behind it could release the situation.

pixel 3a 的鍵盤下半部(導航鍵與鍵盤下半部,包含倒退鍵) 有時候會失去作用或變得很遲鈍,最近發現是溫度造成的,將風扇在手機背面,一切就會復原了。但其實也不是多高溫,因為還能用手拿著..

2021年7月23日 星期五

Lowe's Ratio Test排除易混淆特徵點對應

 再做特徵點對應的時候,若有重複的圖形,用local資訊提取的特徵很容易有錯誤的對應

所以可以用 Lowe's Ratio Test 排除易混淆的對應,意義上來說是如果有相近的對應就將該組對應排除

這個方法很簡單, Lowe在SIFT原始論文就有提出這個方法, 在7.1

https://www.cs.ubc.ca/~lowe/papers/ijcv04.pdf

L1,L2 是最相近的對應特徵點與二相近的對應特徵點對應分數

L2/L1 = RoD (ration of distance)

原始論文中建議設為0.8, 但可能做3D重建更介意false positive,設為0.5

Bag of visual words,TF-IDF

Bag of visual words (BOVW)是把影像用特徵來描述

譬如說用SIFT提取特徵,之後一張影像就用這些特徵來表示,並且也只保留這些特徵,

這可以用在影像特徵的萃取與比對

一張影像可以提取出許多字彙,直接用每個字彙出現的數量來描述影像是一種方式

而應用TF-IDF (Term freq. inverse document frequency )的技術,在此描述中加上字彙的稀有程度這項因素

t = (nid/nd) log(N/ni) 

nid:字彙i出現在目標影像中的次數

nd :目標影像總字數

N:總影像數

ni:含有字彙i的影像數

(nid/nd)這項表示若這張影像的字彙數越少,每個字彙的權重越高

(log(N/ni))這項表示若這字彙越稀有,則這個字彙權重越高

接著再計算影像之間的cosine distance, 

ref :  https://www.youtube.com/watch?v=a4cFONdc6nc

ref :https://github.com/ovysotska/in_simple_english

2021年7月22日 星期四

Ubuntu suspend problem

 When using Ubuntu 18.04, there's always buggy blank screen / suspend action that force me to reboot my PC

The easiest one is blank the screen, than unplug your second screen, boom your PC die..

so I just change to xscreensaver

$ sudo apt-get install xscreensaver xscreensaver-gl-extra xscreensaver-data-extra

then remove buggy gnome -screensaver

$ sudo apt-get remove gnome-screensaver

then search for startup and add an entry

Git traped?

 I've a file in a Git control project that I've do some local change, and don't want it to be overwrite.

so I use

$ git update-index --skip-worktree <file-list>

to avoid the over write

but strange thing happen today when I'm trying to checkout another branch, Git ask me to commit / stash local change, but when I stash local change

git> No local change to save

but when I checkout

git > please commit your changes or stash them before you switch branches

my Git version is 2.30.2

so I can only 

$ git update-index --no-skip-worktree <file-list>

then 

$ git stash

$ git checkout

2021年5月28日 星期五

power point 調整圖片透明

Power point沒辦法直接調整圖片透明度,but有個work around
1.插入圖形方塊
*不是直接插入圖片喔
2.將方塊的線條調整成無線條
3.將方塊的背景填滿改成以圖形填滿,再去選擇要插入的圖片,這時候就可以調整透明度囉

測試office版本2019

2021年5月27日 星期四

MPV ubuntu 下好用的播放器 video player


本來是用VLC player,但因為有些影片只有部份是有效資訊,vlc的放大跟平移又是世界難用,所以找到了MPV
mpv 基本用法是
$ mpv 要播放的檔名

舊版本自訂熱鍵

用Ubuntu 18.04內建的reopsitry抓到的是有點舊的版本 雖然是可以透過自訂熱鍵達成zoom跟pan,
方法是:
在 ~/.config/mpv/ 中新增 input.conf 內容是
Alt+- add video-zoom -0.25
Alt+= add video-zoom 0.25
Alt+h add video-pan-x 0.05
Alt+l add video-pan-x -0.05
Alt+k add video-pan-y 0.05
Alt+j add video-pan-y -0.05

自行compile

但要是抓新版的就不用這麻煩了
本來想說要去github抓下來自己build,但過程中一直缺fribidi這個套件,
但其中遇到一些問題 
0. 可以先做這步,git 的readme有提到,但我之前沒看到
$ apt-get install devscripts equivs
$ mk-build-deps -s sudo -i
$ dpkg-buildpackage -uc -us -b -j4
完成之後mpv_<version>_<architecture>.deb會在上層目錄被產生,用下面指令安裝
$ sudo dpkg -i ../mpv_<version>_<architecture>.deb
1.需要 fribidi
其實是需要 fribidi-dev 
2.yasm太舊
$ sudo apt-get install yasm 

直接用第三方repository安裝

$ sudo add-apt-repository ppa:mc3man/mpv-tests
$ sudo apt-get install mpv

Hotkeys

alt+方向鍵: pan
alt++/-: zoom

2021年5月20日 星期四

[Ubuntu] Silver Searcher , a fast code searching tool

The Silver Searcher 

A code searching tool similar to ack, with a focus on speed.

github

install on ubuntu

sudo apt-get install silversearcher-ag

usage

search i_am_sample_code in /

sudo ag --silent i_am_sample_code /

2021年5月19日 星期三

Install Bash 5.1 on ubuntu 18.04

在看bash reference manual的時候發現一些功能不能用,懷疑是18.04的bash版本太舊想說更新看看
需要自己build bash
sudo apt-get install build-essential

clone the source 

https://github.com/bminor/bash

cd to the code directory
./configure
make
sudo make install
sh

完成之後,bash會被放到/usr/local/bin/bash
接著如果要指定成預設的shell,要編輯 /etc/shells 將 /usr/local/bin/bash加入
之後再
$ chsh
輸入密碼之後
/usr/local/bin/bash
之後重新登入

cherrytree on ubuntu 18.04

it's hard to install the latest (0.99.36) cherrytree on ubuntu 18.04
I think the easiest way is install the flatpak package
0.99.36 have improved a lot from the default 0.39.4 version, it's worth for update

2021年5月8日 星期六

[linux] 用sed將文件中的換行換成空白

最近因為需要翻譯(用google translate)一些文件,但那些文件因為排版需要,有很多不必要的換行,擔心會影響到翻譯品質
但有個好處是,他真的要換行的地方連續換行兩次

如果在windows中有msWord,可以用搜尋找出連續換行,取代成特殊符號,再取代獨立的換行
linux中邏輯也類似,但用sed這套很強的搜尋取代程式來做到

除此之外順便把他弄成script,以後要使用比較方便 

$1是來源檔案$2是目標檔案
#!/bin/bash
# remove $1's single \n and save to $2
sed ':a;N;$!ba;s/\n\{2\}/%@%/g;s/\n/ /g; s/%@%/\n/g' $1 > $2

將上面這段存成 fixNl.sh再用
$fixNl.sh source dest

就會將source中了內容轉換dest了

source sample:
1
2
3

4
5
6

7
8
9

dest sample:
1 2 3
4 5 6
7 8 9

2021年5月6日 星期四

[C++] && rvalue 暫時存在的Object

 ref

myClass f() {...};
myClass X,Y; 
myClass A(X);        // 1.
myClass B(X+Y);      // 2.
myClass C(f());      // 3.
在三種狀況中 2,3 與 1是不一樣的﹔
 2,3 中的 X+Y與f(X) 都會產生一個暫時性的Object,在執行完該行後消失。
 因此C++ 11為這種狀況搞了個rvalue, 2,3就屬於rvalue
相對於rvalue的就是lvalue
lvalue: locator value: an object that occupies some identifable location in memory: 在記憶體上佔有一定空間的物件 

在 C++ 中有兩種constructor

//copy constructor
myClass(myClass const& other){} 
//move constructor
myClass(myClass&& other){}
其中move constructor就是當傳入的是rvalue (myClass&&)的時候可以做一些特殊處理
譬如說,可以把rvalue的記憶體拿來使用,因為這行程式結束之後rvalue也不不存在了

[c++] method()=delete

C++11的新功能
這是 suppressing operation
當寫 method()=delete的時候,呼叫method()是被compiler禁止的

2021年5月5日 星期三

[ubuntu] 文件瀏覽器less使用教學

less使用說明

f下一頁b 上一頁
用/可以向下搜尋字串 n是下一個match shift+n上一個match
g去檔頭G去檔尾,g後面也可以輸入行數
q離開
h叫出使用說明
有趣的是,less的說明也是用less開的

ubuntu bash教學

$man bash
會用less打開bash的說明書

less 的用法可以參考 less教學

可以搜尋moving
或history等等關鍵字

[ubuntu] bash 搜尋歷史指令

$history 
可以看完整歷史
另外用
ctrl+r可以 往回搜尋之前用過的指令

[ubuntu] bash幫指令取縮寫

前面提到要把檔案丟到回收桶要用指令
$gio trash 檔名,可不可以改成用trash?
在~/.bashrc中加入
alias trash='gio trash'
之後再
$source .bashrc就可以囉
其他覺得新手可以加入的alias還有
alias rm='rm -i'
避免一次砍掉太多不該砍的東西
這樣一次真要刪除很多檔案的時候可以用
$rm -I 

ubuntu刪除多個檔案

上一篇有提到一次建立test1, test2, test3三個檔案的方式,如果要一次刪除他們
$rm test*
這樣就會全部刪掉,但如果怕誤刪其他test什麼的可以用
$rm test* -i
在刪除每個檔案前會再次確認
或是丟到資源回收筒再一次刪除可能比較安心可以用
$gio trash test*

ubuntu快速建立檔案內容

譬如說要建立一個檔案,名稱是test, 內容是 "test file"可以用下面指令
$echo "test file">test

[ubuntu]不需要sudo權限重開機

一般在ubuntu要重開機要用
$sudo reboot
但這樣會被要求輸入admin的密碼
這時候可以在 /etc/sudoers.d/中新增任意檔名的檔案
內容是
username ALL = NOPASSWD: /sbin/reboot

2021年4月26日 星期一

[Raspbian]raspberry pi 中文輸入法

 不知為何gcin就是無法在我的8G版本上work

後來改用fcitx就沒問題了..

安裝指令

$ sudo apt-get install fcitx fcitx-chewing

安裝完成後再去

menu > preference > input method 去選fcitx

安裝方式請參考

https://medium.com/gcc-me-c/fcitx-chewing-%E6%96%B0%E9%85%B7%E9%9F%B3%E4%B8%AD%E6%96%87%E8%BC%B8%E5%85%A5%E6%B3%95%E5%AE%89%E8%A3%9D-7f06b16b3e51

[Raspbian][ raspberry pi ] dock window 與熱鍵修改

 pi 的os 竟然沒辦法dock window...

這樣基本的功能,難道沒人把它當便宜主機用嗎?

因為解決方法有點小麻煩,這邊就紀錄一下

ref: https://pastebin.com/NBkccE7B

使用方法基本上就是用win + q/w/e/a/d/z/x/c 將視窗移到各個角落

win + s 全螢幕, win+shift+s縮小

but.. 因為pi 預設 win 一按下去就會打開 lxpanelctl menu我把<keybind key="Super_L">小改了一下變成

    <keybind key="Super_L-m">
      <action name="Execute">
        <command>lxpanelctl menu</command>
      </action>
    </keybind>

首先要先找到設定熱鍵的檔案(/home/pi/.config/openbox/lxde-pi-rc.xml),然後用某個文字編輯器(pi os 預裝有geany,就決定是你了)開啟它

~$ geany /home/pi/.config/openbox/lxde-pi-rc.xml

這個檔案裡面可以找到所有pi可以用的hotkeys~
首先找到 <keyboard> 這個tag 
加入下面一狗票,改完之後存檔重開機 或是在terminal 中輸入
$ openbox-lxde --reconfigure
就可以囉

    <keybind key="W-a">
  <action name="UnmaximizeFull"/>
  <action name="MoveResizeTo">
    <width>50%</width>
    <height>100%</height>
    <x>0%</x>
    <y>0%</y>
  </action>
</keybind>
<keybind key="W-d">
  <action name="UnmaximizeFull"/>
  <action name="MoveResizeTo">
    <width>50%</width>
    <height>100%</height>
    <x>50%</x>
    <y>0%</y>
  </action>
</keybind>
<keybind key="W-x">
  <action name="UnmaximizeFull"/>
  <action name="MoveResizeTo">
    <width>100%</width>
    <height>50%</height>
    <x>0%</x>
    <y>50%</y>
  </action>
</keybind>
<keybind key="W-w">
  <action name="UnmaximizeFull"/>
  <action name="MoveResizeTo">
    <width>100%</width>
    <height>50%</height>
    <x>0%</x>
    <y>0%</y>
  </action>
</keybind>
<keybind key="W-q">
  <action name="UnmaximizeFull"/>
  <action name="MoveResizeTo">
    <width>50%</width>
    <height>50%</height>
    <x>0%</x>
    <y>0%</y>
  </action>
</keybind>
<keybind key="W-e">
  <action name="UnmaximizeFull"/>
  <action name="MoveResizeTo">
    <width>50%</width>
    <height>50%</height>
    <x>50%</x>
    <y>0%</y>
  </action>
</keybind>
<keybind key="W-z">
  <action name="UnmaximizeFull"/>
  <action name="MoveResizeTo">
    <width>50%</width>
    <height>50%</height>
    <x>0%</x>
    <y>50%</y>
  </action>
</keybind>
<keybind key="W-c">
  <action name="UnmaximizeFull"/>
  <action name="MoveResizeTo">
    <width>50%</width>
    <height>50%</height>
    <x>50%</x>
    <y>50%</y>
  </action>
</keybind>
<keybind key="W-s">
  <action name="Maximize"/>
</keybind>
<keybind key="W-S-s">
  <action name="Iconify"/>
</keybind>


2021年4月25日 星期日

raspberry pi 截圖 without printscreen 按鍵

Microsoft的all in one 鍵盤加觸控板不知為何沒有printscreen鍵..

只好用terminal呼叫截圖程式

先用ctrl+alt+t打開termainal

呼叫scrot截圖

它還可以帶一些參數呼叫

scrot -s 框選擷取範圍

scrot -sb 選取視窗

scrot -d num num秒後截圖

scrot -cd num 倒數num秒後截圖

截下來的圖都會放在 ~目錄

[Raspbiam]raspberry pi4時鐘格式

 用Raspbian OS 若想把toolbar換到左/右邊可以在工具列上

右鍵 > Panel settings > Position > Edge 去選擇工具列位置

如果選側邊,可以把Size調整成跟icon size差不多比較簡潔

後pi預設是多的視窗不會合併,這可以從

task bar(window list) settings > combine multiple application windows into a single button 去設定

這時候還有個問題,時鐘分的部份會看不到分

這可以在時鐘那邊按右鍵

digital clock settings > clock format

例如我用的是

%a%n------%n %d%n%b%n------%n%H%n:%M

效果像這樣







2021年4月23日 星期五

linux筆記軟體cherrytree

因為覺得在公司電腦用私人的google doc筆記怕會有爭議,用了linux上的cherry tree, 希望好用

wps office

之前想說找到跟ms office很類似的wps office, 沒想到他竟然是金山出的...礙於對強國軟體的敬畏,只好將他移除了

2021年4月21日 星期三

在Ubuntu下執行window程式

ubuntu底下可以用okular註解pdf檔案,但有個問題是,他的inline comment竟然不能顯示英文以外的文字...傻眼
這個bug被report 5年以上也不見解決
後來找到一個方法,就是先裝wine讓window的程式可以run在ubuntu之後再裝pdfxchange這套widow常用pdf工具就解決了這個問題

2021年3月30日 星期二

2021年3月24日 星期三

[linux] 增加動態函式庫搜尋路徑

 預設的搜尋路徑有

/lib/, /usr/lib/

在這裡面加入library只需呼叫

$ ldconfig

去更新/etc/ld.so.cache的內容

如果新增的lib在其他地方,有兩個選擇

1. 暫時的方法

在環境變數LD_LIBRARY_PATH加入資料夾路徑

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/myapp/lib

1.1 將上面的指令加入

  ~/.bashrc

這樣每次打開shell都會被執行

2. 永久的方式

/etc/ld.so.conf.d/中加入.conf檔案

$ touch opencv.conf
$ echo "/user/local/lib" > opencv.conf
$ sudo ldconfig


ps.

$ ldconfig -v

看ldconfig連結的librarys

$ ldconfig -n

看ldconfig連結的librarys,但排除預設目錄


2021年3月23日 星期二

[git] 完全回復成未修改狀態

清除未追蹤檔案

 git clean -fx

(x表示連同ignored files)

可以先用 

git clean -fxn

測試

還原git controlled files

git reset --hard

back in time -qt

之前都用time shift 但因為看time shift的readme說 time shift主要用來回覆系統檔,要完整回朔可以用back in time

但第一次用就悲劇...

因為在做備份的時候沒有掛一個share槽 (/mnt/share/),但還原的時候不小心掛了,又選清除多餘的檔案,於是share整個被清空(幸好不是很大的備份碟)

所以用 backintime 記得把 /dev/, /mnt/之類的目錄加到例外

[Linux Shell Script] sed 在指定行前面加字元

最近因為寫安裝realsense sdk的script, 需要將原本的script部分註解掉,找到這個sed指令


 sed -i '308,320 s/^/# /1' fileName

註解 308~320行

-i : 寫入原檔

308,320: 範圍 308 ~320

s: 取代

^: pattern前的空字元 ($ 表示pattern 的空字元)

1: 作用在第一個matched pattern (g表示所有)

sed -i '1 s/^/# /1 ; 3 s/^/# /1' test

註解 1,3行

sed -i 's/# //g' test

刪掉 test 中所有 '# '

ref:

https://terryl.in/zh/linux-sed-command/

regular express

https://www.gnu.org/software/sed/manual/sed.html#sed-regular-expressions


ps. 如果要取代檔案中的字

sed -i 's/WORD_TO_REPLACE/replacer/g' fileName


會將

abcdWORD_TO_REPLACEabcdWORD_TO_REPLACE123

變成

abcdreplacerabcdreplacer123


2021年3月9日 星期二

bazel cache

 最近在搞Isaac, 他用bazel這個build tool聽說是很scallable的tool

but...他的cache真的是神大,build幾個Isaac sample,cache了5xGB... SSD都塞暴了

2021年3月8日 星期一

[Isaac install]nvidia driver's location

Isaac 官網上有提到要自行增加環境變數,讓unity可以抓到nv driver

在~/.bashrc最後新增

export VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json

但實際去找/usr/share/vulkan/icd.d/資料夾找不到nvidia_icd.json

後還發現在我的NB上是在/etc/vulkan/icd.d/nvidia_icd.json

實務上可以先updatedb後去locate nvidia_icd.json

2021年3月7日 星期日

[install cuda] install gcc

$ sudo apt update

$ sudo apt install build-essential

install manuals

$  sudo apt-get install manpages-dev

check install

$ gcc --version


install cuda -- turn off Nouveau

 before install cuda,Nouveau need to be turned off

create a new text file

$ sudo nano /etc/modprobe.d/blacklist-nouveau.conf

in blacklist-nouveau.conf

 

blacklist nouveau
options nouveau modeset=0
 
then, rebuild kernel and reboot
$ sudo update-initramfs -u
$ sudo reboot 

after reboot make sure Nouveau have been shut down
$ lsmod | grep nouveau

[pre noted] 將linux移到其他硬碟

 因為公司筆電的ssd很小(128G)上面大只夠run一個linux

  1. Create an ext4 partition and a swap partition on the new drive.

  2. Boot from LiveUSB.

  3. Mount the old Ubuntu partition to some directory, mount the new one to some other directory.

  4. Copy all files from the old one to the new one using cp -a command.

  5. Install grub to the new drive.

  6. Update /etc/fstab with new UUIDs.

在已有ubuntu的狀況下免cd/usb安裝其他inux

用 grml-rescueboot套件

$ sudo apt-get install grml-rescueboot

安裝完成後會產生

/boot/grml資料夾

將iso移動到 /boot/grml

$ sudo mv <.iso> /boot/grml

更新grub

$ update-grub

重開機
$ reboot
這時候grub menu中就會多一個 grml-rescueboot 的選項

但這樣做會有個問題就是installer無法在已掛載的磁碟上做改變分割磁區的動作,如果只有一個實體磁碟的話會需要先割好再安裝

bazel geetting sart

 最近因為用到Nv 的 Isaac, 他用的是bazel這個編譯器

之前沒接觸過,查了一下發現他原本是google內部用的編譯器,後來release出來產生的

但從他的官網進去要getting start卻一直是404找不到網頁

一直以為是有捨麼梗

後來檢查URL才發現他連結的URL是

https://docs.bazel.build/guide.html/getting-started.html

但應該要連到

https://docs.bazel.build/getting-started.html

才對...orz

2021年2月25日 星期四

ubuntu+win10安裝

 如果裝ubuntu + win10 一般先裝完 win10再裝ubuntu

如果都用預設的裝完,ubuntu的grub會蓋掉win10的boot loader導致如果移除ubuntu,win10也開不起來

所以在裝ubuntu的時候

分割磁區,掛載目錄的地方

"Device for boot loader"要選dev/sda1(ubuntu所在的sda<N>,N是數字)而不是dev/sd<A>,A是英文

不然後面可能就需要去用window開機碟去修bootloader了(改天搞掛再來試)

Win10 開機相關

 最近享用AOMEI 將一個windows的備份復原到另一個分割

但復原後卻遇到還原的win10無法啟動的問題

目前的一些research 結果

system information

用system information查看目前的BIOS用的是UEFI還是Legacy boot device

diskpart

>diskpart

list volume

list disk

computer management

Disk Management

Actions > more actions > button  > volume view

check disk is UEFI /BIOS

MBR2GPT

EasyBCD

bcdedit

in admin's cmd
>bcdedit

2021年2月19日 星期五

ubuntu screen

 好用的插件

基本上功能都是ctrl+a,<key>

說明: <key> = ?

detach <key> = ctrl+D

關閉目前的section

$ exit

開啟screen

$ screen

看有哪些screen section

$ screen -ls

回到之前的section

$ screen -r

殺掉所有screen section

$ killall screen

linux 結束程序

 查看目前所有程序

$ top

$ ps -aHj 

看terminal擁有的程序

$ jobs -l

結束程序

$ kill  -<signal number> <process Id>

查看signal number

$ kill -l

常用的是 -6,-9

-6 process 可能會忽略

-9 強制結束

結束程序與子程序

$ killall

 

ubuntu 在shell的背景執行

將程式送到背景執行並暫停

ctrl + z

接著用

$ bg %<jobsId>

來將背景暫停程式繼續執行

或在開始執行時

$ <command> &

但這麼做stdout仍然會導到treminal,可以將stdout重新導到 /dev/null

$ <command> > /dev/null &

查看正在執行的程式,-l列出process Id

$ jobs -l

將程式送到前景,如果有多隻成是在背景,用x指定

$ fg <X>

殺掉背景執行程式

$ kill -9 <process Id>


2021年2月14日 星期日

Ubuntu 改游標顏色跟大小

 安裝 gnome-tweaks

$ sudo apt install gnome-tweaks

在 gnome-tweaks:Appearance>Themes>Cursor 可以改為紅色Cursor

gnome-tweaks:Keyboard&Mouse>Mouse>Pointer Location 可以開啟按ctrl找游標的功能

在Setting:Universal Access>Cursor Size 可以改游標的大小

Windows10想改游標可以參考前篇

VS code debug時 cout 沒有顯示

 在vscode debug時,如果沒有在launch.json中設定externalterminal=true, cout會顯示在Terminal這個Tab中(如果不見可以按ctrl + J)

另一點要注意的是,目前C++的cout需要下

cout.flush();

才會把前面cout的內容印出來

2021年2月13日 星期六

Grub2 .efi檔案選擇

 因為手殘不小心刪除了boot menu的開機選項,需要手動找回來

 路徑在/boot/efi/EFI/BOOT/grubx64.efi

在bios(Dell Inspiron 15)中看起來的路徑會是

EFI/BOOT/grubx64.efi

[Ubuntu 18.04] 每次開機都掛載(Mount)裝置

Who should read this:
  • 如果 Ubuntu中磁區mount上去之後權限(permission)有問題
  • 想要透過GUI設定開機就mount特定磁區

開機掛載

因為要跟windows share data的關係,我弄了一個FAT32的分割區,但每次開機都要用

sudo mount /dev/sdb1 /mnt/shareData -o uid=${myUid}

掛載有點麻煩

有個透過GUI達成每次掛載的方式

開啟Disk,找到想掛載的分割區


掛載選項

預設的mount option可能是像上面那樣,但這樣mount上去的所有權是root,一般的user只能read 跟 x,不能write

將mount option 改成

defaults,umask=0002,dmask=0002,gid=1000

這樣gid=1000 (可以用 $ id 去確認目前user的gid) 的使用者就有r/w權限

另外也可以查看 /etc/fstab

$ cat /etc/fstab | grep "/mnt/myMountPoint" 確認mount option有沒有什麼奇怪的設定

2021年2月12日 星期五

Geo照片與gpx整合

 用Oruxpmap紀錄軌跡之後如果想跟這段期間拍的照片做整合

在Android上可以用GPX photo search這個App,

他可以利用載入的gpx檔案搜尋跟這段路徑相關的照片並匯出成kmz(google earth)檔

但有個小問題是在GE中照片的縮圖在地圖上會顯示成一個大頭釘的圖示,而不是縮圖



在Windows PC上可以用GeoSetter

他是一套免費軟體,可以將有Geo的照片(或是只有時間的照片只要時間是準的,也可以跟gpx檔案做貼合!)存成kmz,之後用GE開啟就會有縮圖Icon




另外有一套TopoFusion感覺也不錯用,產生的縮圖地圖Icon size夠大(GE只有32x32附近)還有html格式的,可惜他是付費軟體,價格也不低




2021年2月7日 星期日

YUMI開機碟無法開機

 用YUMI可以用一隻隨身碟來安裝多種OS非常方便,尤其工作上常常需要測試多種作業系統的相容性的時候。

第一次用YUMI的時候很順利的就做好,但第二次不知怎麼的,用一樣牌子一樣型號(ADATA UV128/32GB)隨身碟做好之後無法開機,懷疑映像檔或YUMI檔案破損重新下載都無效

後來Google之後猜應該是隨身碟要用GPT的方式分割磁區,用ubuntu的Disk工具查看,果然是MBR分割。用disk中的 Format Disk, Partition選 GPT(預設是MBR)Format之後建立兩個分割區(Google看到的方式,沒這麼作用YUMI製作完後partition又會變回MBR),兩個分割區都用FAT格式。最後製作 YUMI的時候不要Wipe隨身碟

在ubuntu中安裝新酷注音

新酷注音還蠻好用的會自動選字~

 sudo apt install ibus-chewing

安裝完成後重新啟動ibus(不須登出或reboot)

ibus restart

安裝完成後到Setting > Region & Language去新增

+ > Chinese (Taiwan)>Chinese (Chewing)

2021年2月5日 星期五

Ubuntu插件

新酷注音

sudo apt install ibus-chewing

window排列

gtile

office

WPS office

統計所有目錄的檔案大小

apt-get install ncdu

求職查詢

做業務的時候老闆有教一件事情,在接觸客戶前要先上工商查詢網頁去查詢要接洽公司的背景,包括資本額,負責人跟可能的關係企業(以免競爭者跑來打聽消息,花資源幫對手做功課),最近因為公司誇口沒告過員工,Google了一下,發現之前確有告過,只是不起訴處分。想說來看一下來龍去脈,找了一下發現這個系統

裁判書查詢

但研究一下之後發現,這個東西查不到不起訴處分的紀錄,但用於評估公司的狀況是一個不錯的參考

2021年2月4日 星期四

code prettify 在blogger中加入code block

code prettify test
ref: https://github.com/googlearchive/code-prettify
the service side has been updated, need to change some code in 






sample coode:
<pre class="prettyprint linenums lang-sh">$ sudo apt install smbclient
$ sudo smbclient -L $IP -W $domainName -U $userName
</pre>
  • use <xmp> </xmp> to escape html code
  • lang-* is optional, may auto detect
  • linenums:x shows the line numbers, x is the starting line
class Voila {
public:
  // Voila
  static const string VOILA = "Voila";

  // will not interfere with embedded tags.
}
by <pre> ...</pre>
int main()
{
    int a = 0;
    return 0;
} 
by <code> .... </code>
int main()
{
    int a = 0;
    return 0;
}

用法
<pre class="prettyprint lang-cpp linenums">...</pre>
<code class="prettyprint">...</code>
用 <pre> 在html中直接換行輸出的結果就會有換行的效果,在<code>中則需要用<br />之類的方式換行
如果再compose mode中打好了code, 可以切到HTMLmode後直接加上 <code></code>較容易

支援的語言
lang-*: "bsh", "c", "cc", "cpp", "cs", "csh", "cyc", "cv", "htm", "html", "java","js", "m", "mxml", "perl", "pl", "pm", "py", "rb", "sh", "xhtml", "xml","xsl".

2021年2月3日 星期三

ubuntu connect to windows file share

Trying to link to a Git repo on NAS folder, where I have no authority to run a Git server.

first, init a bare Git repo on server,

for windows, there's no problem that a can mount the folder on NAS and clone the Git repo. (need some Git config tweak to push)

But I encounter a problem that I can't directly write to the path where I mount the smb:\\ on Ubuntu, which make Git clone failed.

here's how I solves it


install cifs-utils

$ sudo apt install cifs-utils
$ sudo mount.cifs //$IP/$Resource /mnt/samba -o user=$username,domain=$domainName

you can use smbclient to check samba connection and resource first

$ sudo apt install smbclient
$ sudo smbclient -L $IP -W $domainName -U $userName


在ubuntu上git push到NAS上的資料夾會因為權限問題push不上去 

嘗試著用 chmod 更改權限失敗
目前work around 是用
$ sudo git push 
在掛載時加入dir_mode=0777,file_mode=0777設定權限
或加入noperm參數(ref)