2022年6月23日 星期四

在xrdp的xorg session登入中,如何使用mate-desktop(如果你已經在ubuntu裡安裝了)

 重灌了ubuntu 22後,也安裝了lightdm 切換到mate desktop了 (指令「sudo apt install ubuntu-mate-desktop」)
結果裝了xrdp以xorg登入後,卻還是Gnome模式
這時,別急著又在xorg session裡又啟重lightdm去做安裝mate的動作(都已經安裝了啊)

只要4個指令就又連回去第一個xwin的session了(先切到「~/」目錄去)

------------「$」者,表示這是一行指令的開始,不要輸入---------------------------------
(所以最後那個「cat.....EOF」是在同一行的指令)

$ echo "mate-session" > ~/.xsession
$ XDG_DATA_DIRS=/usr/share/mate:/usr/share/mate:/usr/local/share
$ XDG_DATA_DIRS=${XDG_DATA_DIRS}:/usr/share:/var/lib/snapd/desktop
$ cat <<EOF > ~/.xsessionrc
export XDG_SESSION_DESKTOP=mate
export XDG_DATA_DIRS=${XDG_DATA_DIRS}
export XDG_CONFIG_DIRS=/etc/xdg/xdg-mate:/etc/xdg
EOF

------------------

重開機,重登入xrdp xorg,你就可以得到mate desktop了
出處在此

一起加油了

(雖然是ubuntu 18.即便是到了ubuntu 22還適用)

2022年6月21日 星期二

設定python的預設的版本番號

最近在pi4上面安裝conan (用pip install conan指令)之後,試著執行 conan --help看看,結果出現以下的訊息 
pi@myPi4:~ $ conan --help
Traceback (most recent call last):
  File "/home/pi/.local/bin/conan", line 6, in <module>
    from conans.conan import run
  File "/home/pi/.local/lib/python2.7/site-packages/conans/conan.py", line 7, in <module>
    from conans.client.command import main
...
...
...
 from conan.tools.cmake.toolchain.blocks import ToolchainBlocks, UserToolchain, GenericSystemBlock, \
  File "/home/pi/.local/lib/python2.7/site-packages/conan/tools/cmake/toolchain/blocks.py", line 9, in <module>
    from conan.tools.apple.apple import is_apple_os, to_apple_arch
  File "/home/pi/.local/lib/python2.7/site-packages/conan/tools/apple/__init__.py", line 8, in <module>
    from conan.tools.apple.apple import fix_apple_shared_install_name
  File "/home/pi/.local/lib/python2.7/site-packages/conan/tools/apple/apple.py", line 170
    command = f"install_name_tool {dylib_path} -id {new_name}" 
                                                                                                  ^
SyntaxError: invalid syntax
-------------
這裡面完全沒有python3這樣的字樣,這表示安裝conan時它找錯python了
先以python --version check是否是真對應到python3
而不是預期的3.7.3

這時你需要指定順序才行
------
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.7 2
-------
這樣,我們再使用python --verion就會出現預期的 python 3.x
「那,我們之前已經安裝的conan怎麼辦?」
 「很簡單,就用pip uninstall conan就可以移除了」
之後再以pip install conan安裝,就不會出現error了
本篇技巧出處在此
一起加油吧
update : 2022/07/30 
如果python2 沒安裝而直接安裝python3的,但「python --version 」出現command not found的訊息的話,那就要安裝「sudo apt install python-is-python3」了
ref: 這裡的第67則回覆




for pi Buster 在進入xwin之後就執行一段程式....

 為什麼一定要註明這麼清楚?因為你也知道linux有一堆xwin版本,幾乎快跟南斗108個派別有的比了

所以我這次用最最精簡的buster做測試,

(雖然我也試過一堆其他方法,像是寫在rc.local裡....都不是我要的)

結果是要用這招「create .desktop file」

 -----------------------------------------

mkdir /home/pi/.config/autostart
nano /home/pi/.config/autostart/clock.desktop
-------------------------------------------------
[Desktop Entry]
Type=Application
Name=Clock
Exec=/usr/bin/python3 /home/pi/clock.py
----------------------------------------------------
(之後就是重開機治百病了)
這樣在系統登入xwin之後就會用python 執行clock.py這支程式了
很簡單也很實用,可以一試

2022年6月11日 星期六

在ubuntu 20.04的vscode裡試開發sqlite3 client程式(c++)

1. download the zip -- sqlite-autoconf-3380500.tar.gz   and extract it 

2.in to  the folder "sqlite-autoconf-3380500" execute commands:
 「./configure」-> 「make」 「sudo make install」
which will generate libsqlite3.a 、 libsqlite3.so.....  in "/usr/local/lib"
and "sqlite3.h" in the folder "/usr/include"

3. enjoy it in your vsocde !!
 please add 「  "-l","sqlite3" 」argument   into 「task.json」args:[....]」block
 (test by sample code here   )






2022年6月6日 星期一

以vs2022連接遠端linux以進行開發前的準備及設定

 1. 不用多說,一定是先把你的linux準備好,如果不知道要裝什麼套件,就比較一些YT上教的要給vscode開發用的那些,像是 build-essential啦 g++,gdb,gcc啦....  (基本上build-essential已經包括了g++ gcc了)


2.接著,參考這篇指令「sudo apt-get install openssh-server g++ gdb gdbserver」安裝之前沒裝到的gdbserver,也就是今天的主角

3.用vs2022 create一個c++ linux project,去tools用keyword找connection,加入一個remote connection

4.如有必要,別忘了設定C++ 版本等條件


5.let's code & build,之後,請到你在linux os,剛才連線的帳號下,有一個「projects」資料夾,裡面就有個你目前用vs2022建立的的專案名稱的資料夾,其中的bin就是build後的結果(.out檔就是輸出結果了)


現在有這vs2022+removte gdb.希望能幫到有跨平台開發需要的朋友
一起加油吧!!