顯示具有 linux mint 標籤的文章。 顯示所有文章
顯示具有 linux mint 標籤的文章。 顯示所有文章

2021-09-13

老電腦舊電腦用 usb 或 live cd無法用一般模式開機時

今天準備用linux mint重灌一台AMD phenom quad的老電腦,結果無法用第一個選項正常開機(畫面會hang住),用第二個選項Compatibility mode倒是可以。後來發現按tab修改第一個選單的開機參數,改用nomodeset就可以了:

Replace "quiet splash" with "nomodeset" and press Enter to boot.

原因是現在graphic driver是直接做在kernel,這樣開機畫面會比較"漂亮",但對某些顯卡會無法正常使用,因此用nomodeset讓kernel以bios模式開機,直到進x window後再載入顯卡driver。

ref:
https://linuxmint-installation-guide.readthedocs.io/en/latest/boot_options.html#nomodeset-boot-option
https://askubuntu.com/questions/207175/what-does-nomodeset-do

2020-05-01

Ubuntu上用Android手機作為Webcam


讓手機變webcam且支援跨平台/USB的目前找到這二套:

DroidCam: http://www.dev47apps.com/
Iriun WebCam: https://iriun.com/

因為我是要安裝在Ubuntu上,一開始是試iriun卻怎麼試也不成功,後來改用DroidCam就沒問題了。

安裝工具(Android Debug Bridge, gcc...等)
sudo apt-get install adb gcc make linux-headers-`uname -r`

安裝DroidCam:
wget https://www.dev47apps.com/files/linux/droidcam_latest.zip
unzip droidcam_latest.zip -d droidcam && cd droidcam
sudo ./install
lsmod | grep v4l2loopback_dc #檢查是否有掛上 v4l2loopback_dc 模組

(另外也有提供DKMS方式安裝,避免每次kernel更新後又要重新安裝droidcam client)

安裝webcam測試用GUI:
sudo apt-get install qv4l2

Android 5.0以上可以直接在Play Store安裝DroidCam
Android 4.x可以在這裡下載APK安裝。

手機安裝DroidCam後,記得在手機的「開發者人員選項」開啟「USB 偵錯模式」,
然後用USB連接手機跟電腦,再下指令看看找不找得到Android設備:
adb devices

如果出現 no permissions 之類的訊息,那麼就要加入udev rules了,讓一般使用者也能access到手機,先找出Android設備的id:
lsusb

找到手機的設備id為 18d1:4ee7:
Bus 001 Device 010: ID 18d1:4ee7 Google Inc.

新增udev rules:
sudo vi /lib/udev/rules.d/70-android.rules
=======
加入以下內容(注意依自已的設備id修改,如果有多台設備就多行):
SUBSYSTEM=="usb",ATTRS{idVendor}=="18d1",ATTRS{idProduct}=="4ee7",MODE="0666"
=======
然後重新載入udev rules:
sudo chmod 644 /lib/udev/rules.d/70-android.rules
sudo udevadm control --reload-rules
sudo udevadm trigger

重新插拔USB,再下 adb devices,確定可以找到裝置後,執行手機上的DroidCam,
再在電腦上執行 droidcam ,選擇USB並點擊Connect,
再執行 qv4l2,看看能不能看到手機上的視訊影像。

預設解析度是640x480,如果覺得解析度不夠高,也可以修改解析度(要先付費升級手機上的APP,否則即使電腦解析度調高也會像上了馬賽克),譬如先測看看720P:
sudo rmmod v4l2loopback_dc
sudo insmod /lib/modules/`uname -r`/kernel/drivers/media/video/v4l2loopback-dc.ko width=1280 height=720

如果確定修改解析度後顯示正常,可以直接修改 /etc/modprobe.d/droidcam.conf
這樣每次使用就會固定為修改後的解析度,
目前支援 640×480, 960×720, 1280×720 (720p), 1920×1080 (1080p).

要移除的話執行 sudo /opt/droidcam-uninstall 即可

ref:
http://www.dev47apps.com/droidcam/linuxx/

2020-04-29

安裝全字庫字型 & CNS11643 輸入法

安裝全字庫字型、cns11643 fcitx table:
sudo apt-get install fonts-cns11643-kai fonts-cns11643-sung fcitx-table-cns11643

TW-Kai-98_1.ttf         (第0/BMP字面)
TW-Kai-Ext-B-98_1.ttf   (第2字面)
TW-Kai-Plus-98_1.ttf    (第15字面)
TW-Sung-98_1.ttf        (第0/BMP字面)
TW-Sung-Ext-B-98_1.ttf  (第2字面)
TW-Sung-Plus-98_1.ttf   (第15字面)

(字型單獨下載:http://www.cns11643.gov.tw/AIDB/Open_Data.zip)

譬如要輸入「𪇅」這個字,查到CNS其碼表為11-446F:
https://www.cns11643.gov.tw/wordView.jsp?ID=738415

那麼就輸入「b446f」就能輸入「𪇅」這個字(16進位,a代表10,b代表11,以此類推)

另外像「󺞏」這個字要是無法在瀏覽器正常顯示,是因為瀏覽器(Chrome為例)不接受字碼在unicode第15字面的碼表(因為瀏覽器認為CJK字碼不應在私人造字區,只接受在BMP及第2字面的CJK中文):
https://www.cns11643.gov.tw/wordView.jsp?ID=739639

因此可以在瀏覽器的字型設字中,將「標準字型」設定為「全字庫宋體 Plus」或「全字庫楷體 Plus」,這樣瀏覽器就會第一個以該字型去尋找是否有對應字碼,但缺點是字形就是看起來不統一。

像WIN10的內建中文字型已有支援unicode第0面、第2面,除非罕見字不在其中,才需要去裝全字庫字型 (TW-Kai-Plus-98_1.ttf 或 TW-Sung-Plus-98_1.ttf )

ref:
https://zh.wikipedia.org/wiki/Unicode%E5%AD%97%E7%AC%A6%E5%B9%B3%E9%9D%A2%E6%98%A0%E5%B0%84
https://www.cns11643.gov.tw/downloadList.jsp?ID=1

2020-04-22

Ubuntu 安裝 Microsoft Teams

由於武漢肺炎疫情的關係,要是疫情爆發時可能需要用到視訊會議,因此先來裝好Teams熟悉一下功能。

Teams有提供各平台軟體,看起來應該是用Electron.js開發的,微軟也有提供PPA可以直接安裝Teams,不過Linux版的缺點就是會比Win或Mac的功能慢推出。

curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -

sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/ms-teams stable main" > /etc/apt/sources.list.d/teams.list'

sudo apt update
sudo apt install teams

ref:
https://docs.microsoft.com/en-us/microsoftteams/get-clients#linux

2020-04-04

UBUNTU將日曆第一天改為星期一

雖然台灣是以星期日為每週的第一天,但自已還是比較習慣把星期一當成第一天。

#sudo vi /usr/share/i18n/locales/zh_TW

找到 END LC_TIME
在上面加入一行:
first_weekday 2

#sudo locale-gen zh_TW.UTF-8 (或 zh_TW.utf8 ,可用locale -a指令查看)

重登入或開機, done.

2019-12-16

X61/X61s + Linux Mint 19.2 (Ubuntu 18.04) 安裝 Crystal HD (BCM70015) 硬體解壓縮卡

最近淘了台ThinkPad X61s來懷舊,想說這2007年的硬體播放1080p影片可能不太行,於是花了NT.200買了個Broadcom Crystal HD (BCM70015)硬體解壓縮卡來玩玩,不過要注意的是,影片格式、解析度、比特率不能超過以下限制,否則影片透過硬解後可能會撥不出來:

H.264/AVC HP at L 5.1 1080p/1080i, 40 Mbps
SMPTE VC-1 AP at L 3 1080p/1080i, 40 Mbps
WMV9 (VC-1 SP and MP)
MPEG-2 MP @ ML and HL, 80 Mbps
DivX 3.11, 4.1, 5.X, 6.X, XviD

安裝環境:Linux Mint 19.2 (Ubuntu 18.04), kernel 4.18.0-25

0.因為X61/X61s是用GM965/GL960內顯,
因此先更新為最新i915 driver (xserver-xorg-video-intel)
(此步驟可不做,若opengl呼叫有問題,可試著更新內顯驅動):
sudo add-apt-repository ppa:oibaf/graphics-drivers
sudo apt-get update
sudo apt dist-upgrade

1.先安裝crystalhd driver,可選擇用modprobe或dkms的方式:

先安裝必要工具:
sudo apt-get install checkinstall git-core autoconf build-essential subversion dpkg-dev fakeroot pbuilder build-essential dh-make debhelper devscripts patchutils quilt git-buildpackage pristine-tar git yasm zlib1g-dev zlib-bin libzip-dev libx11-dev libx11-dev libxv-dev vstream-client-dev libgtk2.0-dev libpulse-dev libxxf86dga-dev x11proto-xf86dga-dev git libgstreamermm-0.10-dev libgstreamer0.10-dev automake libtool python-appindicator 

modprobe方式:
git clone https://github.com/dbason/crystalhd.git
cd crystalhd/driver/linux
autoconf
./configure
make
sudo make install
cd ../../linux_lib/libcrystalhd/
make
sudo make install
sudo make -C firmware install
sudo modprobe crystalhd

dkms方式:
git clone https://github.com/dbason/crystalhd.git /usr/src/
mv /usr/src/crystalhd /usr/src/crystalhd-0.1
cd /usr/src/crystalhd-0.1/linux_lib/libcrystalhd/
make
sudo make install
dkms add -m crystalhd -v 0.1
dkms build -m crystalhd -v 0.1
dkms install -m crystalhd -v 0.1

cp -f /usr/src/crystalhd-0.1/driver/linux/20-crystalhd.rules /lib/udev/rules.d/ <--勿省略,以免非root使用者無法開啟設備

2.檢查crystal hd是否有正確載入driver:
lsmod | grep crystalhd
-> crystalhd 110592 0

dmesg | grep crystalhd
->...
->[810.638520] crystalhd 0000:02:00.0 Starting Device:0x1615

3.安裝smplayer, mpv, gstreamer1.0-crystalhd, libcrystalhd3
apt-get install smplayer mpv gstreamer1.0-crystalhd libcrystalhd3
(VLC測試撥放會說 buffer deadlock prevented 而失敗,因此改用smplayer+mpv)

4 .重開機,抓個測試影片來測試:
http://jell.yfish.us/media/jellyfish-40-mbps-hd-h264.mkv
直接先用mpv來撥放(其中--vo=可改gl, sdl, xv試試):
mpv --hwdec=crystalhd --vo=gl jellyfish-40-mbps-hd-h264.mkv
-> DtsDeviceOpen: Opeining HW in mode 0
-> Enable single threaded mode

使用smplayer透過mpv播放:
exit(離開root bash)
smplayer(開啟smplayer)
Options/Preferences/General
General/Multimedia engine: mpv

Options/Preferences/Performance
Allow frame drop 勾選
Allow hard frame drop 勾選
Performance/Decoding/Hardware decoding: crystalhd

再用smplayer播放 jellyfish-40-mbps-hd-h264.mkv
檢視選單 View/Mplayer/mpv log
看看是否有跟mpv播放一樣的log

或者改直接播youtube試試:
sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl
sudo chmod a+rx /usr/local/bin/youtube-dl
mpv --hwdec=crystalhd https://www.youtube.com/watch?v=i0p1bmr0EmE

5.若要移除cyrstalhd driver, 可照以下步驟:
modprobe:
modprobe -r crystalhd

dkms:
dkms remove crystalhd/0.1 --all

不過最後發現i915內顯驅動似乎仍有問題,造成opengl輸出的buffer無法建立,因此1080p用硬解後mpv播放反而更卡...後來發現改用smplayer+mplayer播放超順!算了就這樣吧 囧

ref:
https://wiki.archlinux.org/index.php/Intel_graphics
https://gist.github.com/Brainiarc7/aa43570f512906e882ad6cdd835efe57
http://rocksaying.tw/archives/2015/Linux_DKMS_%E6%A9%9F%E5%88%B6%E5%B0%8E%E5%85%A5%E7%AD%86%E8%A8%98.html
https://kodi.wiki/view/Broadcom_Crystal_HD
https://www.pcdvd.com.tw//showthread.php?t=906270&page=1&pp=10
https://github.com/dbason/crystalhd
https://github.com/agx/libcrystalhd/blob/master/src/libcrystalhd_if.c
http://jell.yfish.us/
https://askubuntu.com/questions/1082499/how-to-get-and-install-intel-i915-drivers-on-ubuntu-18-04
https://wiki.archlinux.org/index.php/Mpv_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)
https://mpv.io/manual/stable/#video-output-drivers

2019-10-19

Linux Mint 19 (Ubuntu 18.04) 設定VNC Server

以下以Linux Mint 19 XFCE (Ubuntu 18.04)為範例:

#安裝vnc4server套件及gnome桌面套件(遠端gnome桌面)
sudo apt-get install gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal vnc4server

若要使用xfce桌面,改安裝以下套件:
sudo apt-get install xfce4 xfce4-goodies vnc4server

#啟動vncserver,此時會要求輸入密碼,並建立~/.vnc/xstartup 連線初始化檔案
vncserver

#修改~/.vnc/xstartup 連線初始化檔案,選擇連線時桌面環境(請依系統桌面修改)
#!/bin/sh

#export XKL_XMODMAP_DISABLE=1
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec startxfce4 #xfce4桌面
#exec gnome-session #gnome桌面

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &

#以下為使用 gnome 桌面的額外設定
#gnome-panel &
#gnome-settings-daemon &
#metacity &
#nautilus &
#gnome-terminal &

#建立 ~/.vnc/config ,設定vncserver啟動參數,加入以下設定:
#localhost=no #設定對外部網路監聽
geometry=1920x1080 #設定解析度
alwaysshared #設定可多重連線

#新增 /etc/systemd/system/vncserver@:1.service,讓vncserver能自啟動
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target

[Service]
Type=forking
User=foo
Group=foo
#PAMName=login
PIDFile=/home/%u/.vnc/%H%i.pid
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver %i -geometry 1440x900 -alwaysshared -fg
ExecStop=/usr/bin/vncserver -kill %i

[Install]
WantedBy=multi-user.target

#啟用、啟動、停止 vncserver.service
sudo systemctl enable vncserver.service
sudo systemctl start vncserver.service
sudo systemctl stop vncserver.service

#重開機後,檢查一下是不是port 5901有正常在所有網卡介面(0.0.0.0)監聽
netstat -tnlup

#vnc遠端連線測試:
sudo apt-get install vncviewer
vncviewer my-vnc-server-ip:5901
或用remmina連線 my-vnc-server-ip:5901 測試

ref:
https://askubuntu.com/questions/475023/how-to-make-vnc-server-work-with-ubuntu-desktop-without-xfce
https://wiki.archlinux.org/index.php/TigerVNC


2019-06-17

Linux Mint (Ubuntu) 使用joystick搖桿手把

1.先安裝joystick及jstest-gtk套件:
sudo apt-get install joystick jstest-gtk

2.使用jstest-gtk校正手把,並看看按鈕是否有正常反應

3.如果為xbox手把,可加裝套件xboxdrv並在每次使用xobx手把前啟動:
sudo apt-get install xboxdrv
sudo xboxdrv –detach-kernel-driver –silent
(–detach-kernel-driver參數勿省略,會先卸載xpad模組再使用xobxdrv模組)

4.若xobxdrv無法正常作動,加裝ubuntu-xboxdrv:
sudo apt-add-repository -y ppa:rael-gc/ubuntu-xboxdrv
sudo apt-get update
sudo apt-get install ubuntu-xboxdrv

5.若要手把能對應鍵盤或滑鼠,可安裝qjoypad
sudo apt-get install qjoypad
qjoypad –notray

2019-06-13

Linux Mint(Ubuntu)無法正常載入Nvidia驅動解決方法

Ubuntu官方套件庫內的 Nvidia Driver 39X 以後將不支援Ubuntu Kernel >= 4.19,因此我們可以提早升級Nvidia Driver到4XX版本,若Nvidia Driver無法正常載入也可試試以下方法:

2019-01-21

Linux Mint 建立 L2TP VPN CLIENT

由於Linux Mint預設並沒有L2TP VPN CLIENT,因此需手動新增必要的 package才有辦法達成,以下以Linux Mint 19連線QNAP的L2TP VPN SERVER為例:

  1. 二選一,可使用strongswan或libreswan

    使用strongswan(建議,可支援一些舊加密協定):
    sudo apt-get install network-manager-l2tp-gnome network-manager-strongswan libstrongswan-standard-plugins libstrongswan-extra-plugins

    使用libreswan:
    sudo apt install network-manager-l2tp-gnome libreswan
  2. 重開機,於「網路連線」新增L2TP VPN設定
  3. 輸入gateway及帳號密碼後,還需要依照以下圖示設定:
    其中Phase 1 & phase 2 Algorithms依照安裝的為strongswan或libreswan有所不同:

    strongswan :
    Phase1: aes256-sha1-modp1024,aes128-sha1-modp2048,aes128-sha1-modp1536!
    Phase 2 : aes256-sha1,aes128-sha1!

    libreswan:
    Phase1: aes256-sha1-modp1024,aes128-sha1-modp2048,aes128-sha1-modp1536
    Phase 2 : aes256-sha1,aes128-sha1

    (3des加密目前已證實有安全性問題並被廢棄支援,大多改採用aes128或aes256)

    image.png

    QNAP或SYNOLOGY的L2TP SERVER套件通常可設定為PAP或MS-CHAPv2驗證,一般是選MS-CHAPv2較安全
  4. VPN開始連線前,可使用 sudo journalctl -f 觀看log訊息以方便除錯,連線成功後可用ipsec statusall看連線所使用的方式及資訊,像連線到qnap l2tp,會發現是使用IKEv1, aes256-sha1-modp102去連線。
  5. 若要增加 Cisco VPN,可再安裝 network-manager-vpnc-gnome

ref:
https://community.ubnt.com/t5/UniFi-Routing-Switching/L2TP-VPN-on-Ubuntu-18-04-client/td-p/2492451
https://wiki.strongswan.org/projects/strongswan/wiki/IKEv2CipherSuites