2021年2月19日 星期五

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>


ubuntu 在shell的背景執行

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想改游標可以參考前篇

Ubuntu 改游標顏色跟大小

VS code debug時 cout 沒有顯示

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

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

cout.flush();

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

VS code debug時 cout 沒有顯示

2021年2月13日 星期六

Grub2 .efi檔案選擇

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

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

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

EFI/BOOT/grubx64.efi

Grub2 .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有沒有什麼奇怪的設定

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

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格式的,可惜他是付費軟體,價格也不低




Geo照片與gpx整合

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隨身碟

YUMI開機碟無法開機

在ubuntu中安裝新酷注音

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

 sudo apt install ibus-chewing

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

ibus restart

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

+ > Chinese (Taiwan)>Chinese (Chewing)

在ubuntu中安裝新酷注音

2021年2月5日 星期五

Ubuntu插件

新酷注音

sudo apt install ibus-chewing

window排列

gtile

office

WPS office

統計所有目錄的檔案大小

apt-get install ncdu

Ubuntu插件

求職查詢

做業務的時候老闆有教一件事情,在接觸客戶前要先上工商查詢網頁去查詢要接洽公司的背景,包括資本額,負責人跟可能的關係企業(以免競爭者跑來打聽消息,花資源幫對手做功課),最近因為公司誇口沒告過員工,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".

code prettify 在blogger中加入code block

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)

ubuntu connect to windows file share

2020年5月15日 星期五

window c++設定thread 優先度

[win10] 放大滑鼠游標

常常找不到滑鼠游標嗎?
以前常常另外另外抓大的滑鼠指標
現在win10有內建滑鼠游標大小調整與指定顏色
設定>輕鬆存取>指標與游標
setting>Ease of Access> Cursor & Poiner

[win10] 放大滑鼠游標

2020年5月14日 星期四

看raw檔

寫程式有時候會想將整個buffer dump下來看裡面的值來debug
這時候可以用HxD去開啟bin檔

看raw檔

2020年5月12日 星期二

Z906面板接觸不良

羅技的Z906喇叭,評價5.1聲道系統
雖然因為不支援Dolby digital +,在小米盒子只能雙聲道輸出QQ (據說降板之後就可以正常輸出5.1,改天來試試
https://www.mobile01.com/topicdetail.php?f=347&t=5497660&p=20)
but他面滿似乎因為組裝因素,某些按鍵會有接觸不良問題
偏偏我又補只用一個音源
CH1:藍芽喇叭
CH3:小米盒子
之前光在這兩個channel切換就會切到吐血
後來有抓到切的方法,先用左手對整個前面的蓋板加壓,再用右手去切換頻道,如此可以切得比較順利。估計應該是按鈕是固定在蓋板上,蓋板用久跟主體密合度下降,導致按鈕接觸不到真正的switch
但這只是個治標的方式,本來想說用遙控器就可以解決,雖然我麼遙控器還在,但打開一看整個電路板已經腐蝕...超噁,看了力馬扔掉
最後網拍一個300多的副廠遙控器,現在切換切得很開心。

Z906面板接觸不良

Visualstudio 用專案屬性加入dll目錄

在VS debug的時候加入用到的dll檔這件事情我到目前看到幾種做法
1. 直接暴力把dll檔案copy一份到debug工作目錄中
2. 把用到的dll檔目錄加到系統PATH變數中
3. 今天新發現的,在project的properties>Debugging>Environment中加入
ex: PATH=$(openCvPath)x86\vc15\bin;%PATH%
這裡可以使用MACRO變數($(openCvPath))跟系統變數(%PATH%)

用1. 的好處是,整格專案copy出去不需要修改任何東西比較能正常執行,個專案間的dll也不相互影響,壞處是dll copy一份不是很乾淨也占空間
2. 的好處是所有的專案只須設定一次dll,缺點是各專案如果想使用不同版本dll切換困難,換電腦的話path也需要重設
3. 看起來比較乾淨,也不會因為debug影響整個系統,但各專案需要獨立去設置,另一個好處是,知道的然在部屬程式的時候能知道要去哪邊找需要的dll來用

Visualstudio 用專案屬性加入dll目錄

手機螢幕掛了

換pixel 3a 以來螢幕不斷掛點

第一次自己手殘摔到,第二次莫名黑屏,第三次輕輕摔到螢幕都沒破黑屏,一但黑屏有兩個麻煩
1. 裡面有些資料來不及備份,3a沒有記憶卡,所有資料都在手機上,雖然相片正常來說都會自動上傳google photos但有些還來不及上傳的部分就會GG
2. 裡面的資料無法清空,寄回去修怕會有資安問題(雖然相信古歌工程師不會如此無聊)

因此可以在手機還完好的時候先安裝Vysor就可以透過usb線用點腦遠端控制手機!
這麼做會需要開啟開發者模式,其實只要有開過開法者模式,至少都能透過usb線將手機回復原廠設定值去清空資料,以前的手機都無聊會去開,偏偏這次pixel拿到沒多久就死去了,沒來得及開QQ

手機螢幕掛了

2020年2月27日 星期四

[WPF] 子視窗設定

有時候一個App會有開啟其他視窗的需求 e.g.開啟設定視窗
這個視窗琛一班的視窗有點不同
他需要不會顯示在taskbar中
但當切換離開主視窗又切回時,他要能夠出現(否則新開的視窗可能會消失

此時要
1. 在Project 底下新增一個windows
2. 在.cs中要開啟window的地方插入
            window1 win1= new window1();
            win1.Owner = this;
            win1.Show();
3. 使window1 不會顯示在Taskbar
在window1的xml <Window > 中插入
ShowInTaskbar="False" 屬性

[WPF] 子視窗設定

2020年2月5日 星期三

Z906 + 小米盒子 + Netflix

昨天買了條光纖線想說可以來看Netflix的5.1聲道
but...
光纖線接好後卻沒看到Netflix 5.1聲道的logo
google的半天才發現Netflix只支援Dolby Digital +
但羅技Z906吃的是Dolby Digital
目前想到的解法是去pchome上面找個HDMI audio splitter 來用,希望可以work

Z906 + 小米盒子 + Netflix