2023年8月12日 星期六

windows修復模式下複製檔案

電腦異常時,可通過windows usb安裝隨身碟進行開機,並選擇進階選項->命令提示字元,即會開啟命令提示字元視窗

此時可通過鍵入ex: A: ~ Z:來找尋所需複製檔案的來源儲存裝置, 與目標儲存裝置,找到後即可先切至目標儲存裝置,並寫入如以下指令:

robocopy h:\ . source.7z /eta

上述指令代表意義為通過robocopy程式將h:\下的source.7z搬移到當前目錄下,/eta參數用途為,可確認複製檔案進度百分比。

2023年1月14日 星期六

gitlab取消protect branch

gitlab上創建project後,並本地init git project後,嘗試下在第六步push本地project時,若遇到無法push commit至protect branch問題,如 "You are not allowed to force push code to a protected branch on this project.",可通過gitlab project頁面unprotect branch

git init

git add xxx

git commit -m"xxx"

git remote add origin https://gitlab.com/xxx/xxx.git

git branch -M main

git push -uf origin main

unprotect branch方式如下:

1, 選擇settings -> repository


2. 點選欲被push但被protect的branch,後方的unprotect按鈕
3. 點選後即可本地操作重新push,此時應可成功push至原嘗試push的branch
git push -uf origin main



2022年1月30日 星期日

NFT非同質化代幣命名理解

 NFT為當今流行語,其全稱為Non Fungible Token,中譯為非同質化代幣。此種代幣中的任一顆代幣會有對應獨立ID,供代幣操作者/智慧合約辨別;而同質化代幣中的每顆代幣不具獨特性,無法辨別每顆代幣間之差異,如BTC, ETH等等

由於將每顆代幣通過獨立ID方式,來獨特化自身之代幣,具有獨特性,與同質化代幣有著本質上之不同,故取反,命名為非同質化代幣。可參考如下圖。

另外每顆有獨立ID之非同質化代幣可再透過原生支援/外部手段供使用者檢視,例如原生支援方式可為,每顆代幣會開一塊空間擺放數位內容,如圖片檔, 聲音檔等等;外部手段可為,每顆代幣僅開放一少量空間用來存放字串,其中存放的字串可為網頁連結,對應至不同數位內容。




2020年11月14日 星期六

Python3 Matplotlib plt.show() failed解法

在python下使用matplotlib時可能無法正常顯示圖表,並爆出以下錯誤訊息

UserWarning: Matplotlib is currently using agg, which is a non-GUI backend, so cannot show the figure. 


解法:

1. 安裝python3-tk

sudo apt-get install python3-tk


2. 解除安裝matplotlib再重新安裝

可先pip -V或pip3 -V,確認目前python3是使用pip or pip3來管理套件

pip uninstall matplotlib

pip install matplotlib


3. 完成,重新測試應可正常顯示圖表


2020年8月23日 星期日

windows wsl2 ubuntu-18.04下編譯安裝使用cool-retro-term

cool-retro-term主頁: https://github.com/Swordfish90/cool-retro-term


windows端:

下載vcsrv (https://sourceforge.net/projects/vcxsrv/)

安裝vcsrv,照預設裝即可,安裝時會提示windows防火牆已封鎖xming部分功能,記得需選中允許在公用網路或私有網路使用通訊之選項(若不確定現在用的網路是何種,可以先將兩者勾選起來)

安裝完畢後,在windows搜尋列搜尋允許的應用程式,並打開。確認VcXsrv windows xserver / Xming X Server有被勾選中,且目前在使用的公用/私有網路也有被勾選起來,若不確定現在是使用公用還是私人網路,可先將兩者勾選起來,並記得按下確定












vcsrv 啟動時須先啟動xlaunch(windows 搜尋列搜尋xlaunch並點選)

會看見設定選單第一頁照預設即可,第二頁需要取消勾選native gl,並勾選disable access control, ,再帶-ac參數,如下圖一

圖一


接著將此設定存檔如圖二,之後可以拿來讓xlaunch自動load此設定檔並執行xming

最後按完成鍵即可














圖二


接著啟動xming (windows 搜尋列搜尋xming並點選,點選後xming即可)


wsl2端(在此範例即開啟wsl2下的ubuntu-18.04):

sudo apt-get update

sudo apt install build-essential konsole x11-apps x11-xserver-utils qtchooser  qmlscene qt5-qmake  qt5-default qtdeclarative5-dev qml-module-qtquick-controls qml-module-qtgraphicaleffects qml-module-qtquick-dialogs qml-module-qtquick-localstorage qml-module-qtquick-window2 qml-module-qt-labs-settings qml-module-qt-labs-folderlistmodel wget 


vi ~/.bashrc(進入編輯模式可按i),在文件尾端加入以下四行

export DISPLAY_NUMBER="0.0"                                                                                     

export DISPLAY=$(grep -m 1 nameserver /etc/resolv.conf | awk '{print $2}'):$DISPLAY_NUMBER  

export LIBGL_ALWAYS_INDIRECT=0

export QT_SELECT=qt5

存檔 (:wq)

source ~/.bashrc


git clone --recursive https://github.com/Swordfish90/cool-retro-term.git 

(current commit: dac2b4ff1608dc79020868bfe204985a9cf5bb23)

wget http://download.qt.io/new_archive/qt/5.3/5.3.1/qt-opensource-linux-x64-5.3.1.run

chmod +x qt-opensource-linux-x64-5.3.1.run

sudo ./qt-opensource-linux-x64-5.3.1.run

此時會跳出安裝選單,照預設安裝即可


cd cool-retro-term

cd qmltermwidget

qmake && make

cp -r qmltermwidget/src/qmldir qmltermwidget/lib/kb-layouts qmltermwidget/lib/color-schemes qmltermwidget/src/QMLTermScrollbar.qml qmltermwidget/QMLTermWidget

sudo make install

cd ..

qmake && make

sudo make install


USER請改為你的帳戶名稱

sudo chown -R USER:USER ~/.local/

(此指令為確保cool-retro-term能在~/.local資料夾下以non-root權限做文件操作)


輸入以下程式名即可叫起cool-retro-term使用

cool-retro-term


之後每次重啟ubuntu-18.04或使用cool-retro-term前,記得需要先開xlaunch做設定(前述第二頁需要取消勾選native gl,並勾選disable access control, ,再帶-ac參數)

再開xming server

最後在ubuntu-18.04環境下,叫起cool-retro-term即可


效果圖: