如果有一堆簡中檔名的zip檔要解的話,不用一直重複上面的動作,直接在winrar裡的「.. 」(回上層目錄),開啟檢視其他要解開的zip檔,這樣就不必一直切換「名稱編碼」,檢視得到正確的檔案目錄名稱便可直接拖出到目的資料夾裡,比較省事
2023年2月4日 星期六
用winrar解簡體中文壓縮檔產出成亂碼目錄、檔案名稱!? 如何解決?
如果有一堆簡中檔名的zip檔要解的話,不用一直重複上面的動作,直接在winrar裡的「.. 」(回上層目錄),開啟檢視其他要解開的zip檔,這樣就不必一直切換「名稱編碼」,檢視得到正確的檔案目錄名稱便可直接拖出到目的資料夾裡,比較省事
2023年1月12日 星期四
for ROS2 同一個 package 即要有cpp的node,又想加入python node,如何定義這樣的package?
放心,這需求不是今天才出現的,有時網路上找到的lib是cpp或是python ,而又不想各別定義成不同的package,就會需要樣的應用了( 當然你也可以用ctypes來解決 python call c's dll/so ,
-------------------------------
-----------------
2023年1月8日 星期日
ROS2 colcon build遇到的問題 (distro:foxy on ubuntu 20.04)
Q1.錯誤訊息「undefined reference to `rosidl_message_type_support_t const* rosidl_typesupport_cpp::get_message_type_support_handle<sensor_msgs::msg::Imu_<std::allocator<void> > >()' collect2: error: ld returned 1 exit status」
sol:請檢查 CMakeLists.txt 的ament_target_dependencies 及 c_cpp_properties.json includePath 及 package.xml 的 depend ,套件/路徑有沒有加入(以上述的訊息,是「sensor_msgs」套件定義漏了)
Q2.錯誤訊息「python3.8/site-packages/setuptools/dist.py:717: UserWarning: Usage of dash-separated 'script-dir' will not be supported in future versions. Please use the underscore name 'script_dir' instead 」
sol:除了要「pip install setuptools==58.2.0」把setuptools降級之外,也要把package裡的「setup.cfg」
的「script-dir」及「install-scripts」改為「script_dst」「install_script」
Q3.For python: 執行node時找不到自己定義的模組(明明colcon build都沒錯!!)
sol:請在setup.py的「data_files」裡加上「('lib/' + package_name, [package_name+'/SimpleOneTrailerSystem.py']),」
data_files=[
('share/ament_index/resource_index/packages',
['resource/' + package_name]),
('share/' + package_name, ['package.xml']),
('lib/' + package_name, [package_name+'/DC_Motor.py']),
],
--------
2022年12月23日 星期五
for ubuntu :把script安裝到開機後的工作,如同service一樣
這次我們是把昨天做好的wireguard vpn 介面啟動安裝到開機程序裡
文件: /usr/local/bin/start_wg_vpn.sh ,權限設定為744
-----------------------------------------------
#!/bin/bash
wg-quick up wg0 <--看你昨天設定好的config檔叫什麼
-----------------------------------------------
文件 /etc/systemd/system/start_wg_vpn.service 權限設定為664
----------------------------
[Unit]
After=network.target
[Service]
ExecStart=/usr/local/bin/start_wg_vpn.sh
[Install]
WantedBy=default.target
------------------------------
-----
$ sudo systemctl daemon-reload $ sudo systemctl enable start_wg_vpn.service
2022年12月22日 星期四
ubuntu 安裝wireguard client 時遇到的問題
wireguard透過wg-easy的docker化安裝,一切變得方便多了
參考這則影音,一下子就裝好了.
不過,在ubuntu client安裝時就有那麼點小麻煩了
(我們已經先用「apt install wireguard」安裝了)
以root身份(指令 sudo -i ) 在/etc/wireguard裡設定好了myWG.conf後(就是從剛才wg-easy自架的vpn server網頁加好的client定義下載的conf檔copy出來貼就好,別緊張),退駕回到正常的身份後
執行「sudo wg-quick up myWG」以啟動網路wg介面,出現以下訊息:
----------------------------
[#] ip link add myWG type wireguard
[#] wg setconf myWG /dev/fd/63
[#] ip -4 address add 10.8.0.3/24 dev myWG
[#] ip link set mtu 1420 up dev myWG
[#] resolvconf -a myWG -m 0 -x
/usr/bin/wg-quick: line 32: resolvconf: command not found
[#] ip link delete dev myWG <--網路介面被移除!!
----------------------------
這時候只要再一行指令「sudo ln -s /usr/bin/resolvectl /usr/local/bin/resolvconf」就可以解決這個問題了
參考出處在此
一起加油吧
2022年11月18日 星期五
在hyper-V修改了硬碟大小後,怎麼去調整ubuntu的作業系統磁碟空間
在你把vm (ubuntu)關機,調整硬碟大小之後(如下圖步驟),空間不夠的問題就這樣完成了嗎?
不,還沒完:因為作業的是OS partition,所以有點不一樣,不能只用「Disks」或是gparted來作業
,以「Disks」而言,會「on-line shrinkig not supported (udisks-error-quark,0 )」錯誤
事實上這跟我們之前在用virtualbox的ubuntu調整partition的動作很像,參考以下步驟:
1.一樣,是去terminal,用「sudo -i」切換成root 角色
2.用「fdisk -l」(是list 的小寫L,不是數字1)查出你要調整的disk number
---舉例,以下只看「/dev/sda多少」那裡,其他的別看----
Device Start End Sectors Size Type
/dev/sda1 227328 125827071 125599744 12.9G Linux filesystem <--我們要調整大小的硬碟
/dev/sda14 2048 10239 8192 4M BIOS boot
/dev/sda15 10240 227327 217088 106M EFI System
user@server:~# parted GNU Parted 3.2 Using /dev/sda Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) resizepart Partition number? 1 <--要調整的partition number「/dev/sda1」 End? [26.8GB]? <--這地方要自己輸入,不能只按enter,
因為parted 是不知道你有多少空間可以用 (在上一個指令「fdisk -l」裡「Disk /dev/sda: 30.25 GiB」就是我們可用(用步驟1改的vdi大小)的大小,所以請在此填入32.25G)(parted) quit Information: You may need to update /etc/fstab.-----
(或許不用,因為它出現了錯誤訊息
2022年11月10日 星期四
好工具介紹:封鎖 ctrl + 空白鍵 以解決輸入法切換的小工具
最近剛買台新筆電,也灌了win11,可是最麻煩的中文輸入法遇到ctrl + space就切換的問題
我真的找了很多地方試了很多方法都沒解,甚至連改registry key這事都做了,還是一樣
(沒辦法,新筆電很容易按錯鍵)
好在這問題一堆人問,也有熱心人士開發出這樣tweak工具--PowerToys ,參考這裡的設定
當然這軟體你也看出來他真的是包山包海了,有需要您再慢慢試了
至少解決我這手殘一族的中打打到一半出現「不知所云」的現象了
請享用
2022年9月6日 星期二
For python--一直keyboard.Events() get key卻出現「Can't connect to display ...... : b'Maximum number of clients reached」問題
...
...
(而且ubuntu 22.04 預設是沒有xorg.conf,想要用 Xorg -configure產生Xorg.conf很多程序要做....我放棄了,但也好在沒產出 & 修改xorg.conf,不然又被誤導,走不少冤枉路了)
...
...
....
...
....
2022年8月31日 星期三
For ubuntu 怎麼安裝gstream rtsp server?
你應該知道用git clone的方式把git respostitory 複製到你的local來make & build
2022年7月27日 星期三
for Ubuntu 22.04 desktop : /dev/ttyUSB 找不到!? 明明設備有反應啊
最近剛安裝了ubuntu22.04 x64 Desktop
找了一個舊的設備來試io,官網上是說它會出現在/dev/ttyUSB0
剛插入usb port也是有反應...只是一下子又沒反應了....應該是衝到了
這時要用這個指令「lsbus」來看看插拔前後出現了什麼差別了
john@ros2:~$ lsusb
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
---插入usb設備有反應的那一刻---
