分類
软件

Anuto TD 一個塔防遊戲

Anuto TD 是一款製作精良的塔防遊戲,它「浪費」了我很多時間!

分類
Linux

Fedora 35 安裝 VirtualBox

沒想到給 Fedora 35 安裝 VirtualBox 會遇到這麼一個坑,所以記錄下。如果你的電腦沒有啓用 EFI Secure Boot 應該不會遇到這個問題。報錯信息如下:

vboxdrv.sh: failed: modprobe vboxdrv failed. Please use 'dmesg' to find out why.

There were problems setting up VirtualBox.  To re-start the set-up process, run
  /sbin/vboxconfig
as root.  If your system is using EFI Secure Boot you may need to sign the
kernel modules (vboxdrv, vboxnetflt, vboxnetadp, vboxpci) before you can load
them. Please see your Linux system's documentation for more information.

如果你不想關閉安全啓動,那麼可以按如下步驟來解決:

1, 安裝 mokutil

sudo dnf update
sudo dnf install mokutil

2, 在新文件夾裏創建 RSA 密鑰

sudo -i
mkdir /root/signed-modules
cd /root/signed-modules
openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 36500 -subj "/CN=VirtualBox/"
chmod 600 MOK.priv

3, 準備導入密鑰的密碼,等下重啓電腦後會詢問你設置的密碼。

sudo mokutil --import MOK.der

4, 重啓電腦,電腦會進入一個藍屏,選擇 Enroll MOK --> Continue --> 輸入你剛剛設置的密碼,然後你的電腦會重啓。

5, 進入剛剛的文件夾新建一個腳本。

cd /root/signed-modules
nano sign-virtual-box

腳本內容如下:

#!/bin/bash

for modfile in $(dirname $(modinfo -n vboxdrv))/*.ko; do
  echo "Signing $modfile"
  /usr/src/kernels/$(uname -r)/scripts/sign-file sha256 \
                                /root/signed-modules/MOK.priv \
                                /root/signed-modules/MOK.der "$modfile"
done

如果腳本執行失敗了,可以嘗試運行下面命令,然後根據結果修改上面腳本。

find /usr/src -name signfile

5, 爲腳本增加執行權限並運行。

chmod 700 sign-virtual-box
./sign-virtual-box 

6, 把簽名後的驅動加入內核中就可以了。

modprobe vboxdrv

Ubuntu 用戶可以參考這篇 https://stegard.net/2016/10/virtualbox-secure-boot-ubuntu-fail/。以上解決辦法由 Younes LAB 作答與 Sign virtual box modules (vboxdrv, vboxnetflt, vboxnetadp, vboxpci) Centos 8 - Stack Overflow


從 VirtualBox RPM 源安裝 VirtualBox

由於之前沒有搜到上面的辦法,還以爲是安裝的問題,嘗試了從 VirtualBox RPM 源安裝 VirtualBox,其實是不能解決問題的,但是這裏也記錄一下。

1, 安裝依賴。

sudo dnf -y install @development-tools
sudo dnf -y install kernel-headers kernel-devel dkms elfutils-libelf-devel qt5-qtx11extras

2, 添加VirtualBox RPM 源。

Fedora 36 / Fedora 35:

cat <<EOF | sudo tee /etc/yum.repos.d/virtualbox.repo 
[virtualbox]
name=Fedora $releasever - $basearch - VirtualBox
baseurl=http://download.virtualbox.org/virtualbox/rpm/fedora/35/\$basearch
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://www.virtualbox.org/download/oracle_vbox.asc
EOF

Fedora 34:

cat <<EOF | sudo tee /etc/yum.repos.d/virtualbox.repo 
[virtualbox]
name=Fedora $releasever - $basearch - VirtualBox
baseurl=http://download.virtualbox.org/virtualbox/rpm/fedora/34/\$basearch
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://www.virtualbox.org/download/oracle_vbox.asc
EOF

Fedora 33:

cat <<EOF | sudo tee /etc/yum.repos.d/virtualbox.repo 
[virtualbox]
name=Fedora $releasever - $basearch - VirtualBox
baseurl=http://download.virtualbox.org/virtualbox/rpm/fedora/33/\$basearch
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://www.virtualbox.org/download/oracle_vbox.asc
EOF

3, 導入 VirtualBox GPG 密鑰,確認指紋匹配後按 y。

sudo dnf search virtualbox
Fedora  -  - VirtualBox                                 58  B/s | 181  B     00:03
Fedora  -  - VirtualBox                                906  B/s | 1.7 kB     00:01
Importing GPG key 0x98AB5139:
 Userid     : "Oracle Corporation (VirtualBox archive signing key) <[email protected]>"
 Fingerprint: 7B0F AB3A 13B9 0743 5925 D9C9 5442 2A4B 98AB 5139
 From       : https://www.virtualbox.org/download/oracle_vbox.asc
Is this ok [y/N]: y

4, 安裝 VirtualBox。

sudo dnf install VirtualBox-6.1

5, 把當前用戶添加到 vboxusers 用戶組。

sudo usermod -a -G vboxusers $USER
newgrp vboxusers

然後就可以通過命令 virtualbox 或應用菜單 》System 》Oracle VM VirtualBox來啓動了。但是這個時候還沒有裝 Extension Pack,表現爲虛擬機只支持 USB 1.1,屏幕無法縮放。好在擴展包直接從官網下載就可以,然後直接雙擊就能順利運行安裝。

此安裝教程來自 How To Install VirtualBox 6 on Fedora 36/35/34/33/32 - ComputingForGeeks

分類
软件

Mozilla的開源語音轉文字庫DeepSpeech

DeepSpeech 是一個開源的語音文字引擎,使用的是基於百度深度語音研究論文的機器學習技術訓練的模型。DeepSpeech 項目使用谷歌的 TensorFlow,以使實施更加容易。

#https://deepspeech.readthedocs.io/en/r0.9/?badge=latest
# 創建一個虛擬環境
virtualenv -p python3 $HOME/tmp/deepspeech-venv/
source $HOME/tmp/deepspeech-venv/bin/activate

# 安裝 DeepSpeech
pip3 install deepspeech

# 下載預編譯都英文模型文件
curl -LO https://github.com/mozilla/DeepSpeech/releases/download/v0.9.3/deepspeech-0.9.3-models.pbmm
curl -LO https://github.com/mozilla/DeepSpeech/releases/download/v0.9.3/deepspeech-0.9.3-models.scorer

# 下載測試音頻文件
curl -LO https://github.com/mozilla/DeepSpeech/releases/download/v0.9.3/audio-0.9.3.tar.gz
tar xvf audio-0.9.3.tar.gz

# 把音頻文件轉換成文字
deepspeech --model deepspeech-0.9.3-models.pbmm --scorer deepspeech-0.9.3-models.scorer --audio audio/2830-3980-0043.wav

使用 DeepSpeech 轉換法語

DeepSpeech 目前只預先訓練了英語和漢語普通話,如果要轉換法語,可以使用 Common Voice 下的 commonvoice-fr 中都模型。轉到發佈頁面,下載 model_tensorflow_fr.tar.xz 這個文件即可。實際使用中,你可能需要需要安裝 ffmpeg 和 vox 來轉換 mp3 格式都音頻文檔。轉換後的文字沒有段落,需要手動分段。

sudo dnf install ffmpeg sox
ffmpeg -i speech.mp3 speech.wav
deepspeech --model output_graph.pbmm --scorer kenlm.scorer --audio audio/speech.wav > speech.txt

如果想要把文字轉換成語音,可以使用Mozilla 的開源文字轉語音庫

分類
Linux

Install Fedora 35 on Dell Inspiron 1525

The Inspiron 1525 is Emanon's first (and only) laptop, which brought almost 13 years ago. When it got laggy and hard to run Adobe software, we brought an Acer desktop. Several years later, we got some video tasks to do, so we gave the Acer desktop to Emanon's sister, who didn't have a desktop. From that on, we started using a Dell desktop in daily life. But we only got one PC, we had to take turns recently. I found the old desktop after a room tidy up and thought maybe it can still run for easy tasks in daily life.

My Inspiron 1525 has a 2 GB Memory, a 2-core CPU, a 120 GB hard disk and a 15.4" screen(which is much bigger than my phone). Fortunately, it meets the minimum hardware of Fedora 35. I use Xfce desktop environment for many years, it's fast and has almost everything I need. So I download Fedora 35 Xfce Desktop and burn it into my old 2 GB flash disk with the official tool Fedora Media Writer.

sudo dnf install mediawriter
mediawriter

Then insert the flash disk into 1525, press power button. When you see the progress bar go to the end, keep hitting F12 then select USB Storage Device. You'll boot into Fedora 35 Xfce in a moment. If you haven't back up your files, you could do it now. If you don't have a wired Internet connection, you should download and copy the two files below for fixing the Wi-Fi later. Run the Install to Hard Drive in the desktop to install Fedora OS. For more details, please refer to Installing Using Anaconda. After that, reboot your laptop and remove the flash disk.

You'll see the Wi-Fi is failed, even after you updated all the software. The good news is there are ways to fix. Download broadcom-wl-6.30.163.46 (backup link), extract it. Run the following commands to get the working driver and copy them to your system.

#sudo yum install b43-fwcutter
sudo b43-fwcutter -w /lib/firmware broadcom-wl-6.30.163.46/broadcom-wl-6.30.163.46.wl_apsta.o
sudo sync
sudo /sbin/modprobe -r b43
sudo /sbin/modprobe b43

Now you can browse the web or do some text work on it. If you want some multimedia pleasure, you might need VLC. And before you install VLC, you need to enable RPM Fusion first.

sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm

本文更新於 2022/03/21。

分類
软件

Mozilla 的開源文字轉語音庫

Mozilla 的這款開源的文字轉語音 TTS(Text-to-Speech)引擎,是一個用於生成高級文本到語音的庫。它建立在最新的研究基礎上,旨在實現訓練的簡易性、速度和質量之間的最佳權衡。它帶有預訓練的模型和測量數據集質量的工具,已經在 20 多種語言的產品和研究項目中使用。

一些體驗:

  • 雖然我在 Python 3.9 下運行沒有任何問題,但是爲了少出問題,最好是用 3.6。
  • 安裝完所有依賴,虛擬環境的文件夾達到 3.1 GB,自帶的英文模型 107 MB,下載的中文模型 654 MB。
  • 我電腦沒有 GPU,生成一句話大概耗時 6 秒左右。
  • 項目自帶了一個 TTS 服務器,直接運行 tts-server 就可以在網頁上體驗 TTS。
  • TTS 有時候(尤其是中文)會抽風。(後來發現是文本沒有加句號導致的)

兩個示例:

The human voice is the most perfect instrument of all.

我們的祖國是花園

如果想要把語音轉換成文字可以使用Mozilla的開源語音轉文字庫DeepSpeech

本文更新於 2022/04/15。

分類
网站

當 CDN 失敗時回滾到自己的 js 資源

雖然 CDN 故障的概率非常微小,但是有些人爲的障礙卻可能導致用戶無法從 CDN 加載到資源。這時只要回滾到自己服務器上的資源就可以了,能用 CDN 的用戶優先才 CDN 加載,無法使用 CDN 的用戶從自己服務器加載。

<!DOCTYPE html>
<html>

<head>
  <!-- 在 head 裏調用 CDN 庫 -->
  <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.min.js" integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4=" crossorigin="anonymous"></script>
  <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
  <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
</head>
<body>
  <p>網頁正文</p>
  <!-- 在網頁底部檢查一個 CDN 庫裏變量 -->
  <script>
    if (!window.jQuery) {
      document.write('<script src="js/jquery-3.2.1.min.js"><\/script>');
      document.write('<script src="js/bootstrap.bundle.min.js"><\/script>');
      document.write('<link rel="stylesheet" href="css/bootstrap.min.css" \/>');
    }
  </script>
</body>
</html>
分類
其它

辦事記錄

資產證明

資產證明都是當時就能辦好的,按照類型分爲兩種:第一種是凍結證明,客戶無法在指定是時間段內動用這筆存款。第二種是時點證明,表示在某時刻客戶賬戶裏有多少資產。現在大多數銀行和金融機構都支持在線辦理資產證明。如京東金融直接在 APP 內提交申請,馬上就可以將時點證明的 PDF 文檔發送到郵箱。微衆銀行在 APP 提交申請後,會發送一個加密的 zip 壓縮包到郵箱,解壓密碼是身份證後六位。華潤銀行需要到網點才可以辦理資產證明,到了網點後找到自助機器自己申請。申請後自助機器會顯示發送到你郵箱的 zip 包的壓縮密碼,是一個隨機六位數組。四大行應該也都要去網點才能辦理。說一句題外話,從中國銀行瞭解到,從去年年底開始,沒有工作證明的個人就無法開普通的銀行卡了,只能開一個最高限額 500 元的附屬卡。已經辦理的銀行卡,如果超過 36 個月沒有交易且餘額低於 10 元,也會被銀行轉爲「久懸戶」,再恢復成普通普通賬戶的所需資料各銀行可能有不同。

無犯罪記錄證明公證書

深圳的流程是:先去市公安局申請無犯罪記錄證明,拿到證明後到公證處辦理公正。

無犯罪記錄證明可以直接在深圳公安的微信小程序裏申請,覈驗過人臉後,輸入準確的辦事理由(如:新西蘭移民)即可,辦理時效爲三個工作日,辦理完成後會有短信通知。可以在申請時指定自取還是郵寄,自取的話除了去市民中心的政務大廳取還可以在分佈於關內的衆多政務自助機上直接打印出來。多說幾句這個政務自助機,這個機器裏能辦很多業務,比如住房公積金提取,打印多種證明結果等。有兩種方式識別用戶:刷身份證和 i深圳 APP 掃碼登錄(APP 需要做過人臉識別)。免費辦理。

拿到無犯罪記錄證明後就可以憑身份證和戶口本辦理公正了,各公正處大同小異。深圳市公正處可以在線辦理,先註冊一個用戶,然後填寫要辦理的類型和資料,上傳身份證、戶口本、無犯罪記錄證明掃描件即可。然後等待兩三天會短信告訴你受理了,這個時候掃碼付款,然後再等最多五個工作日,公正員會告訴你辦理完成了讓你帶着上述掃描件的原件來領取。如果趕實際,最好還是親臨公證處辦理,這樣當天就受理了。一份中文公正和英文翻譯的價格是 200 元。

入職體檢

最普通的入職體檢(含血壓與血液檢測、X光胸部檢測)價格 167 元,如果醫保餘額大於 6400 元則可以報銷 124 元。需要身份證和照片,照片可以在醫院的自助照相機上照,20 元。兩個工作日出結果。