apt版dbeaver-ce「Ubuntu24.04(WSL2)のapt版」でsqlite3も問題なく使えた
はじめに
WSL2環境にsqliteを置いてる状況で、Windows版のDbeaverからそれを見に行くと
テーブル定義情報が取得できないなどの不具合があった
Linux版のDbeaverをインストールして、WSL2環境に置いてるsqliteを見に行くと解決するが
普通にgitHubに置いてるLinux版のDbeaverを使うと、証明書の関係でドライバーのダウンロードが
できない
そこで、
dbeaver.gpg.keyなどでの証明書関係の設定を行う。
aptで「openjdk-21-jdk」をインストールする。(その前にaptで「universe」のインストールが必要)
その後、aptで「dbeaver-ce」をインストールして
これを使えば、問題解決することがわかった。
しかし、このようなインストールは、煩雑であり、
インターネット環境さえあれば、どこの現場であろうとも、この記事内容からのコピペで
さっさと、環境設定できるようにするため、
ここに記事として情報を記述することにした。
VSコードのプラグインでSQLiteを扱えるものもあるが、どうも使いにくい
dbeaverでWSL2側にある「db.sqlite3」を問題なく扱えるようにしたかった。
dbeaver.gpgの設定
aptで「universe」のインストール
aptで「openjdk-21-jdk」、「dbeaver-ce」のインストール
この手順を下記に記載した。
インストール手順
環境
Ubuntu 24.04.2 LTS (GNU/Linux 6.6.87.2-microsoft-standard-WSL2 x86_64)
で、WSL2自体の最新化や、1日1回メッセージを意図的にだすなどして確認すればよい
一旦、
sudo apt update
sudo apt upgrade
で最新化してから作業にとりかかるのがよさそう
未だであれば「dbeaver.gpgの設定」をする
grep -R "dbeaver.io/debs" /etc/apt/sources.list.d 2> /dev/null
で何も表示されない場合は、「dbeaver.gpgの設定」が未だなので下記をやる
curl -fsSL https://dbeaver.io/debs/dbeaver.gpg.key | sudo gpg --dearmor -o /usr/share/keyrings/dbeaver.gpg
その後
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/dbeaver.gpg] \
https://dbeaver.io/debs/dbeaver-ce/ /" \
| sudo tee /etc/apt/sources.list.d/dbeaver.list
を実行する
再度、
grep -R "dbeaver.io/debs" /etc/apt/sources.list.d 2> /dev/null
$ grep -R "dbeaver.io/debs" /etc/apt/sources.list.d 2> /dev/null
/etc/apt/sources.list.d/dbeaver.list:deb [arch=amd64 signed-by=/usr/share/keyrings/dbeaver.gpg] https://dbeaver.io/debs/dbeaver-ce/ /
aptで「universe」のインストール
dbeaverで、ドライバーのダウンロードができるようにするには、
dbeaver.gpgの設定と、「openjdk-21-jdk」が必要とのことだが
「openjdk-21-jdk」には、「universe」が必要とのことで
sudo add-apt-repository universe
$ sudo add-apt-repository universe
Adding component(s) 'universe' to all repositories.
Press [ENTER] to continue or Ctrl-c to cancel.
Hit:1 https://mise.jdx.dev/deb stable InRelease
Hit:2 http://archive.ubuntu.com/ubuntu noble InRelease
Hit:3 http://security.ubuntu.com/ubuntu noble-security InRelease
Hit:4 http://archive.ubuntu.com/ubuntu noble-updates InRelease
Hit:5 http://archive.ubuntu.com/ubuntu noble-backports InRelease
Hit:6 https://ppa.launchpadcontent.net/ondrej/php/ubuntu noble InRelease
Reading package lists... Done
aptで「openjdk-21-jdk」のインストール
grep -R ^Components /etc/apt/sources.list.d/ubuntu.sources
で下記のように出てきたら(universeが有効と確認できるらしい) (詳しくはわからない)
$ grep -R ^Components /etc/apt/sources.list.d/ubuntu.sources
Components: main universe restricted multiverse
Components: main universe restricted multiverse
apt-cache policy openjdk-21-jdk | head
で、下記のように表示されたら、openjdk-21-jdkがインストールできる状況にあるが
まだ、インストールされていない状況らしい
★ openjdk自体は、もっと新しいバージョンはあるが
★ 2025/07時点でubuntuの公式リポジトリに収録されている最新版が「openjdk-21-jdk」であるとのこと
$ apt-cache policy openjdk-21-jdk | head
openjdk-21-jdk:
Installed: (none)
Candidate: 21.0.7+6~us1-0ubuntu1~24.04
Version table:
21.0.7+6~us1-0ubuntu1~24.04 500
500 http://archive.ubuntu.com/ubuntu noble-updates/main amd64 Packages
500 http://security.ubuntu.com/ubuntu noble-security/main amd64 Packages
21.0.3+9-1ubuntu1 500
500 http://archive.ubuntu.com/ubuntu noble/main amd64 Packages
ちなみに、インストール後にやってみると
$ apt-cache policy openjdk-21-jdk | head
openjdk-21-jdk:
Installed: 21.0.7+6~us1-0ubuntu1~24.04
Candidate: 21.0.7+6~us1-0ubuntu1~24.04
Version table:
*** 21.0.7+6~us1-0ubuntu1~24.04 500
500 http://archive.ubuntu.com/ubuntu noble-updates/main amd64 Packages
500 http://security.ubuntu.com/ubuntu noble-security/main amd64 Packages
100 /var/lib/dpkg/status
21.0.3+9-1ubuntu1 500
500 http://archive.ubuntu.com/ubuntu noble/main amd64 Packages
上記のように「***」記号が付いた状況になっていた。
sudo apt update
$ sudo apt update
Hit:1 https://mise.jdx.dev/deb stable InRelease
Hit:2 http://security.ubuntu.com/ubuntu noble-security InRelease
Hit:3 http://archive.ubuntu.com/ubuntu noble InRelease
Get:4 http://archive.ubuntu.com/ubuntu noble-updates InRelease [126 kB]
Get:5 https://dbeaver.io/debs/dbeaver-ce InRelease [2086 B]
Hit:6 https://ppa.launchpadcontent.net/ondrej/php/ubuntu noble InRelease
Get:7 https://dbeaver.io/debs/dbeaver-ce Packages [460 B]
Hit:8 http://archive.ubuntu.com/ubuntu noble-backports InRelease
Fetched 129 kB in 2s (65.0 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
All packages are up to date.
sudo apt install openjdk-21-jdk
$ sudo apt install openjdk-21-jdk
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
alsa-topology-conf alsa-ucm-conf ca-certificates-java fonts-dejavu-extra java-common libasound2-data libasound2t64
libatk-wrapper-java libatk-wrapper-java-jni libgif7 libice-dev libnspr4 libnss3 libpcsclite1 libpthread-stubs0-dev libsm-dev
libx11-dev libxau-dev libxcb1-dev libxdmcp-dev libxt-dev openjdk-21-jdk-headless openjdk-21-jre openjdk-21-jre-headless
x11proto-dev xorg-sgml-doctools xtrans-dev
Suggested packages:
default-jre alsa-utils libasound2-plugins libice-doc pcscd libsm-doc libx11-doc libxcb-doc libxt-doc openjdk-21-demo
openjdk-21-source visualvm libnss-mdns fonts-ipafont-gothic fonts-ipafont-mincho fonts-wqy-microhei | fonts-wqy-zenhei
fonts-indic
The following NEW packages will be installed:
alsa-topology-conf alsa-ucm-conf ca-certificates-java fonts-dejavu-extra java-common libasound2-data libasound2t64
libatk-wrapper-java libatk-wrapper-java-jni libgif7 libice-dev libnspr4 libnss3 libpcsclite1 libpthread-stubs0-dev libsm-dev
libx11-dev libxau-dev libxcb1-dev libxdmcp-dev libxt-dev openjdk-21-jdk openjdk-21-jdk-headless openjdk-21-jre
openjdk-21-jre-headless x11proto-dev xorg-sgml-doctools xtrans-dev
0 upgraded, 28 newly installed, 0 to remove and 0 not upgraded.
Need to get 139 MB of archives.
After this operation, 325 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://archive.ubuntu.com/ubuntu noble/main amd64 alsa-topology-conf all 1.2.5.1-2 [15.5 kB]
Get:2 http://archive.ubuntu.com/ubuntu noble-updates/main amd64 libasound2-data all 1.2.11-1ubuntu0.1 [21.1 kB]
Get:3 http://archive.ubuntu.com/ubuntu noble-updates/main amd64 libasound2t64 amd64 1.2.11-1ubuntu0.1 [399 kB]
Get:4 http://archive.ubuntu.com/ubuntu noble-updates/main amd64 alsa-ucm-conf all 1.2.10-1ubuntu5.7 [66.4 kB]
Get:5 http://archive.ubuntu.com/ubuntu noble/main amd64 ca-certificates-java all 20240118 [11.6 kB]
Get:6 http://archive.ubuntu.com/ubuntu noble/main amd64 fonts-dejavu-extra all 2.37-8 [1947 kB]
Get:7 http://archive.ubuntu.com/ubuntu noble/main amd64 java-common all 0.75+exp1 [6798 B]
Get:8 http://archive.ubuntu.com/ubuntu noble/main amd64 libatk-wrapper-java all 0.40.0-3build2 [54.3 kB]
Get:9 http://archive.ubuntu.com/ubuntu noble/main amd64 libatk-wrapper-java-jni amd64 0.40.0-3build2 [46.4 kB]
Get:10 http://archive.ubuntu.com/ubuntu noble/main amd64 libgif7 amd64 5.2.2-1ubuntu1 [35.2 kB]
Get:11 http://archive.ubuntu.com/ubuntu noble/main amd64 xorg-sgml-doctools all 1:1.11-1.1 [10.9 kB]
Get:12 http://archive.ubuntu.com/ubuntu noble/main amd64 x11proto-dev all 2023.2-1 [602 kB]
Get:13 http://archive.ubuntu.com/ubuntu noble/main amd64 libice-dev amd64 2:1.0.10-1build3 [51.0 kB]
Get:14 http://archive.ubuntu.com/ubuntu noble/main amd64 libnspr4 amd64 2:4.35-1.1build1 [117 kB]
Get:15 http://archive.ubuntu.com/ubuntu noble/main amd64 libnss3 amd64 2:3.98-1build1 [1445 kB]
Get:16 http://archive.ubuntu.com/ubuntu noble/main amd64 libpcsclite1 amd64 2.0.3-1build1 [21.4 kB]
Get:17 http://archive.ubuntu.com/ubuntu noble/main amd64 libpthread-stubs0-dev amd64 0.4-1build3 [4746 B]
Get:18 http://archive.ubuntu.com/ubuntu noble/main amd64 libsm-dev amd64 2:1.2.3-1build3 [17.8 kB]
Get:19 http://archive.ubuntu.com/ubuntu noble/main amd64 libxau-dev amd64 1:1.0.9-1build6 [9570 B]
Get:20 http://archive.ubuntu.com/ubuntu noble/main amd64 libxdmcp-dev amd64 1:1.1.3-0ubuntu6 [26.5 kB]
Get:21 http://archive.ubuntu.com/ubuntu noble/main amd64 xtrans-dev all 1.4.0-1 [68.9 kB]
Get:22 http://archive.ubuntu.com/ubuntu noble/main amd64 libxcb1-dev amd64 1.15-1ubuntu2 [85.8 kB]
Get:23 http://archive.ubuntu.com/ubuntu noble/main amd64 libx11-dev amd64 2:1.8.7-1build1 [732 kB]
Get:24 http://archive.ubuntu.com/ubuntu noble/main amd64 libxt-dev amd64 1:1.2.1-1.2build1 [394 kB]
Get:25 http://archive.ubuntu.com/ubuntu noble-updates/main amd64 openjdk-21-jre-headless amd64 21.0.7+6~us1-0ubuntu1~24.04 [46.4 MB]
Get:26 http://archive.ubuntu.com/ubuntu noble-updates/main amd64 openjdk-21-jre amd64 21.0.7+6~us1-0ubuntu1~24.04 [227 kB]
Get:27 http://archive.ubuntu.com/ubuntu noble-updates/main amd64 openjdk-21-jdk-headless amd64 21.0.7+6~us1-0ubuntu1~24.04 [82.6 MB]
Get:28 http://archive.ubuntu.com/ubuntu noble-updates/main amd64 openjdk-21-jdk amd64 21.0.7+6~us1-0ubuntu1~24.04 [3380 kB]
Fetched 139 MB in 9s (15.9 MB/s)
Selecting previously unselected package alsa-topology-conf.
(Reading database ... 51715 files and directories currently installed.)
Preparing to unpack .../00-alsa-topology-conf_1.2.5.1-2_all.deb ...
Unpacking alsa-topology-conf (1.2.5.1-2) ...
Selecting previously unselected package libasound2-data.
Preparing to unpack .../01-libasound2-data_1.2.11-1ubuntu0.1_all.deb ...
Unpacking libasound2-data (1.2.11-1ubuntu0.1) ...
Selecting previously unselected package libasound2t64:amd64.
Preparing to unpack .../02-libasound2t64_1.2.11-1ubuntu0.1_amd64.deb ...
Unpacking libasound2t64:amd64 (1.2.11-1ubuntu0.1) ...
Selecting previously unselected package alsa-ucm-conf.
Preparing to unpack .../03-alsa-ucm-conf_1.2.10-1ubuntu5.7_all.deb ...
Unpacking alsa-ucm-conf (1.2.10-1ubuntu5.7) ...
Selecting previously unselected package ca-certificates-java.
Preparing to unpack .../04-ca-certificates-java_20240118_all.deb ...
Unpacking ca-certificates-java (20240118) ...
Selecting previously unselected package fonts-dejavu-extra.
Preparing to unpack .../05-fonts-dejavu-extra_2.37-8_all.deb ...
Unpacking fonts-dejavu-extra (2.37-8) ...
Selecting previously unselected package java-common.
Preparing to unpack .../06-java-common_0.75+exp1_all.deb ...
Unpacking java-common (0.75+exp1) ...
Selecting previously unselected package libatk-wrapper-java.
Preparing to unpack .../07-libatk-wrapper-java_0.40.0-3build2_all.deb ...
Unpacking libatk-wrapper-java (0.40.0-3build2) ...
Selecting previously unselected package libatk-wrapper-java-jni:amd64.
Preparing to unpack .../08-libatk-wrapper-java-jni_0.40.0-3build2_amd64.deb ...
Unpacking libatk-wrapper-java-jni:amd64 (0.40.0-3build2) ...
Selecting previously unselected package libgif7:amd64.
Preparing to unpack .../09-libgif7_5.2.2-1ubuntu1_amd64.deb ...
Unpacking libgif7:amd64 (5.2.2-1ubuntu1) ...
Selecting previously unselected package xorg-sgml-doctools.
Preparing to unpack .../10-xorg-sgml-doctools_1%3a1.11-1.1_all.deb ...
Unpacking xorg-sgml-doctools (1:1.11-1.1) ...
Selecting previously unselected package x11proto-dev.
Preparing to unpack .../11-x11proto-dev_2023.2-1_all.deb ...
Unpacking x11proto-dev (2023.2-1) ...
Selecting previously unselected package libice-dev:amd64.
Preparing to unpack .../12-libice-dev_2%3a1.0.10-1build3_amd64.deb ...
Unpacking libice-dev:amd64 (2:1.0.10-1build3) ...
Selecting previously unselected package libnspr4:amd64.
Preparing to unpack .../13-libnspr4_2%3a4.35-1.1build1_amd64.deb ...
Unpacking libnspr4:amd64 (2:4.35-1.1build1) ...
Selecting previously unselected package libnss3:amd64.
Preparing to unpack .../14-libnss3_2%3a3.98-1build1_amd64.deb ...
Unpacking libnss3:amd64 (2:3.98-1build1) ...
Selecting previously unselected package libpcsclite1:amd64.
Preparing to unpack .../15-libpcsclite1_2.0.3-1build1_amd64.deb ...
Unpacking libpcsclite1:amd64 (2.0.3-1build1) ...
Selecting previously unselected package libpthread-stubs0-dev:amd64.
Preparing to unpack .../16-libpthread-stubs0-dev_0.4-1build3_amd64.deb ...
Unpacking libpthread-stubs0-dev:amd64 (0.4-1build3) ...
Selecting previously unselected package libsm-dev:amd64.
Preparing to unpack .../17-libsm-dev_2%3a1.2.3-1build3_amd64.deb ...
Unpacking libsm-dev:amd64 (2:1.2.3-1build3) ...
Selecting previously unselected package libxau-dev:amd64.
Preparing to unpack .../18-libxau-dev_1%3a1.0.9-1build6_amd64.deb ...
Unpacking libxau-dev:amd64 (1:1.0.9-1build6) ...
Selecting previously unselected package libxdmcp-dev:amd64.
Preparing to unpack .../19-libxdmcp-dev_1%3a1.1.3-0ubuntu6_amd64.deb ...
Unpacking libxdmcp-dev:amd64 (1:1.1.3-0ubuntu6) ...
Selecting previously unselected package xtrans-dev.
Preparing to unpack .../20-xtrans-dev_1.4.0-1_all.deb ...
Unpacking xtrans-dev (1.4.0-1) ...
Selecting previously unselected package libxcb1-dev:amd64.
Preparing to unpack .../21-libxcb1-dev_1.15-1ubuntu2_amd64.deb ...
Unpacking libxcb1-dev:amd64 (1.15-1ubuntu2) ...
Selecting previously unselected package libx11-dev:amd64.
Preparing to unpack .../22-libx11-dev_2%3a1.8.7-1build1_amd64.deb ...
Unpacking libx11-dev:amd64 (2:1.8.7-1build1) ...
Selecting previously unselected package libxt-dev:amd64.
Preparing to unpack .../23-libxt-dev_1%3a1.2.1-1.2build1_amd64.deb ...
Unpacking libxt-dev:amd64 (1:1.2.1-1.2build1) ...
Selecting previously unselected package openjdk-21-jre-headless:amd64.
Preparing to unpack .../24-openjdk-21-jre-headless_21.0.7+6~us1-0ubuntu1~24.04_amd64.deb ...
Unpacking openjdk-21-jre-headless:amd64 (21.0.7+6~us1-0ubuntu1~24.04) ...
Selecting previously unselected package openjdk-21-jre:amd64.
Preparing to unpack .../25-openjdk-21-jre_21.0.7+6~us1-0ubuntu1~24.04_amd64.deb ...
Unpacking openjdk-21-jre:amd64 (21.0.7+6~us1-0ubuntu1~24.04) ...
Selecting previously unselected package openjdk-21-jdk-headless:amd64.
Preparing to unpack .../26-openjdk-21-jdk-headless_21.0.7+6~us1-0ubuntu1~24.04_amd64.deb ...
Unpacking openjdk-21-jdk-headless:amd64 (21.0.7+6~us1-0ubuntu1~24.04) ...
Selecting previously unselected package openjdk-21-jdk:amd64.
Preparing to unpack .../27-openjdk-21-jdk_21.0.7+6~us1-0ubuntu1~24.04_amd64.deb ...
Unpacking openjdk-21-jdk:amd64 (21.0.7+6~us1-0ubuntu1~24.04) ...
Setting up java-common (0.75+exp1) ...
Setting up libpthread-stubs0-dev:amd64 (0.4-1build3) ...
Setting up libasound2-data (1.2.11-1ubuntu0.1) ...
Setting up xtrans-dev (1.4.0-1) ...
Setting up libasound2t64:amd64 (1.2.11-1ubuntu0.1) ...
Setting up libnspr4:amd64 (2:4.35-1.1build1) ...
Setting up libpcsclite1:amd64 (2.0.3-1build1) ...
Setting up libgif7:amd64 (5.2.2-1ubuntu1) ...
Setting up fonts-dejavu-extra (2.37-8) ...
Setting up alsa-topology-conf (1.2.5.1-2) ...
Setting up xorg-sgml-doctools (1:1.11-1.1) ...
Setting up libatk-wrapper-java (0.40.0-3build2) ...
Setting up ca-certificates-java (20240118) ...
No JRE found. Skipping Java certificates setup.
Setting up alsa-ucm-conf (1.2.10-1ubuntu5.7) ...
Setting up libnss3:amd64 (2:3.98-1build1) ...
Setting up libatk-wrapper-java-jni:amd64 (0.40.0-3build2) ...
Setting up openjdk-21-jre-headless:amd64 (21.0.7+6~us1-0ubuntu1~24.04) ...
update-alternatives: using /usr/lib/jvm/java-21-openjdk-amd64/bin/java to provide /usr/bin/java (java) in auto mode
update-alternatives: using /usr/lib/jvm/java-21-openjdk-amd64/bin/jpackage to provide /usr/bin/jpackage (jpackage) in auto mode
update-alternatives: using /usr/lib/jvm/java-21-openjdk-amd64/bin/keytool to provide /usr/bin/keytool (keytool) in auto mode
update-alternatives: using /usr/lib/jvm/java-21-openjdk-amd64/bin/rmiregistry to provide /usr/bin/rmiregistry (rmiregistry) in auto mode
update-alternatives: using /usr/lib/jvm/java-21-openjdk-amd64/lib/jexec to provide /usr/bin/jexec (jexec) in auto mode
Processing triggers for sgml-base (1.31) ...
Setting up x11proto-dev (2023.2-1) ...
Processing triggers for fontconfig (2.15.0-1.1ubuntu2) ...
Processing triggers for desktop-file-utils (0.27-2build1) ...
Setting up libxau-dev:amd64 (1:1.0.9-1build6) ...
Processing triggers for hicolor-icon-theme (0.17-2) ...
Setting up libice-dev:amd64 (2:1.0.10-1build3) ...
Setting up libsm-dev:amd64 (2:1.2.3-1build3) ...
Processing triggers for libc-bin (2.39-0ubuntu8.5) ...
Processing triggers for man-db (2.12.0-4build2) ...
Setting up libxdmcp-dev:amd64 (1:1.1.3-0ubuntu6) ...
Setting up libxcb1-dev:amd64 (1.15-1ubuntu2) ...
Setting up libx11-dev:amd64 (2:1.8.7-1build1) ...
Setting up libxt-dev:amd64 (1:1.2.1-1.2build1) ...
Processing triggers for ca-certificates-java (20240118) ...
Adding debian:ACCVRAIZ1.pem
Adding debian:AC_RAIZ_FNMT-RCM.pem
Adding debian:AC_RAIZ_FNMT-RCM_SERVIDORES_SEGUROS.pem
Adding debian:ANF_Secure_Server_Root_CA.pem
Adding debian:Actalis_Authentication_Root_CA.pem
Adding debian:AffirmTrust_Commercial.pem
Adding debian:AffirmTrust_Networking.pem
Adding debian:AffirmTrust_Premium.pem
Adding debian:AffirmTrust_Premium_ECC.pem
Adding debian:Amazon_Root_CA_1.pem
Adding debian:Amazon_Root_CA_2.pem
Adding debian:Amazon_Root_CA_3.pem
Adding debian:Amazon_Root_CA_4.pem
Adding debian:Atos_TrustedRoot_2011.pem
Adding debian:Atos_TrustedRoot_Root_CA_ECC_TLS_2021.pem
Adding debian:Atos_TrustedRoot_Root_CA_RSA_TLS_2021.pem
Adding debian:Autoridad_de_Certificacion_Firmaprofesional_CIF_A62634068.pem
Adding debian:BJCA_Global_Root_CA1.pem
Adding debian:BJCA_Global_Root_CA2.pem
Adding debian:Baltimore_CyberTrust_Root.pem
Adding debian:Buypass_Class_2_Root_CA.pem
Adding debian:Buypass_Class_3_Root_CA.pem
Adding debian:CA_Disig_Root_R2.pem
Adding debian:CFCA_EV_ROOT.pem
Adding debian:COMODO_Certification_Authority.pem
Adding debian:COMODO_ECC_Certification_Authority.pem
Adding debian:COMODO_RSA_Certification_Authority.pem
Adding debian:Certainly_Root_E1.pem
Adding debian:Certainly_Root_R1.pem
Adding debian:Certigna.pem
Adding debian:Certigna_Root_CA.pem
Adding debian:Certum_EC-384_CA.pem
Adding debian:Certum_Trusted_Network_CA.pem
Adding debian:Certum_Trusted_Network_CA_2.pem
Adding debian:Certum_Trusted_Root_CA.pem
Adding debian:CommScope_Public_Trust_ECC_Root-01.pem
Adding debian:CommScope_Public_Trust_ECC_Root-02.pem
Adding debian:CommScope_Public_Trust_RSA_Root-01.pem
Adding debian:CommScope_Public_Trust_RSA_Root-02.pem
Adding debian:Comodo_AAA_Services_root.pem
Adding debian:D-TRUST_BR_Root_CA_1_2020.pem
Adding debian:D-TRUST_EV_Root_CA_1_2020.pem
Adding debian:D-TRUST_Root_Class_3_CA_2_2009.pem
Adding debian:D-TRUST_Root_Class_3_CA_2_EV_2009.pem
Adding debian:DigiCert_Assured_ID_Root_CA.pem
Adding debian:DigiCert_Assured_ID_Root_G2.pem
Adding debian:DigiCert_Assured_ID_Root_G3.pem
Adding debian:DigiCert_Global_Root_CA.pem
Adding debian:DigiCert_Global_Root_G2.pem
Adding debian:DigiCert_Global_Root_G3.pem
Adding debian:DigiCert_High_Assurance_EV_Root_CA.pem
Adding debian:DigiCert_TLS_ECC_P384_Root_G5.pem
Adding debian:DigiCert_TLS_RSA4096_Root_G5.pem
Adding debian:DigiCert_Trusted_Root_G4.pem
Adding debian:Entrust.net_Premium_2048_Secure_Server_CA.pem
Adding debian:Entrust_Root_Certification_Authority.pem
Adding debian:Entrust_Root_Certification_Authority_-_EC1.pem
Adding debian:Entrust_Root_Certification_Authority_-_G2.pem
Adding debian:Entrust_Root_Certification_Authority_-_G4.pem
Adding debian:GDCA_TrustAUTH_R5_ROOT.pem
Adding debian:GLOBALTRUST_2020.pem
Adding debian:GTS_Root_R1.pem
Adding debian:GTS_Root_R2.pem
Adding debian:GTS_Root_R3.pem
Adding debian:GTS_Root_R4.pem
Adding debian:GlobalSign_ECC_Root_CA_-_R4.pem
Adding debian:GlobalSign_ECC_Root_CA_-_R5.pem
Adding debian:GlobalSign_Root_CA.pem
Adding debian:GlobalSign_Root_CA_-_R3.pem
Adding debian:GlobalSign_Root_CA_-_R6.pem
Adding debian:GlobalSign_Root_E46.pem
Adding debian:GlobalSign_Root_R46.pem
Adding debian:Go_Daddy_Class_2_CA.pem
Adding debian:Go_Daddy_Root_Certificate_Authority_-_G2.pem
Adding debian:HARICA_TLS_ECC_Root_CA_2021.pem
Adding debian:HARICA_TLS_RSA_Root_CA_2021.pem
Adding debian:Hellenic_Academic_and_Research_Institutions_ECC_RootCA_2015.pem
Adding debian:Hellenic_Academic_and_Research_Institutions_RootCA_2015.pem
Adding debian:HiPKI_Root_CA_-_G1.pem
Adding debian:Hongkong_Post_Root_CA_3.pem
Adding debian:ISRG_Root_X1.pem
Adding debian:ISRG_Root_X2.pem
Adding debian:IdenTrust_Commercial_Root_CA_1.pem
Adding debian:IdenTrust_Public_Sector_Root_CA_1.pem
Adding debian:Izenpe.com.pem
Adding debian:Microsec_e-Szigno_Root_CA_2009.pem
Adding debian:Microsoft_ECC_Root_Certificate_Authority_2017.pem
Adding debian:Microsoft_RSA_Root_Certificate_Authority_2017.pem
Adding debian:NAVER_Global_Root_Certification_Authority.pem
Adding debian:NetLock_Arany_=Class_Gold=_Főtanúsítvány.pem
Adding debian:OISTE_WISeKey_Global_Root_GB_CA.pem
Adding debian:OISTE_WISeKey_Global_Root_GC_CA.pem
Adding debian:QuoVadis_Root_CA_1_G3.pem
Adding debian:QuoVadis_Root_CA_2.pem
Adding debian:QuoVadis_Root_CA_2_G3.pem
Adding debian:QuoVadis_Root_CA_3.pem
Adding debian:QuoVadis_Root_CA_3_G3.pem
Adding debian:SSL.com_EV_Root_Certification_Authority_ECC.pem
Adding debian:SSL.com_EV_Root_Certification_Authority_RSA_R2.pem
Adding debian:SSL.com_Root_Certification_Authority_ECC.pem
Adding debian:SSL.com_Root_Certification_Authority_RSA.pem
Adding debian:SSL.com_TLS_ECC_Root_CA_2022.pem
Adding debian:SSL.com_TLS_RSA_Root_CA_2022.pem
Adding debian:SZAFIR_ROOT_CA2.pem
Adding debian:Sectigo_Public_Server_Authentication_Root_E46.pem
Adding debian:Sectigo_Public_Server_Authentication_Root_R46.pem
Adding debian:SecureSign_RootCA11.pem
Adding debian:SecureTrust_CA.pem
Adding debian:Secure_Global_CA.pem
Adding debian:Security_Communication_ECC_RootCA1.pem
Adding debian:Security_Communication_RootCA2.pem
Adding debian:Security_Communication_RootCA3.pem
Adding debian:Security_Communication_Root_CA.pem
Adding debian:Starfield_Class_2_CA.pem
Adding debian:Starfield_Root_Certificate_Authority_-_G2.pem
Adding debian:Starfield_Services_Root_Certificate_Authority_-_G2.pem
Adding debian:SwissSign_Gold_CA_-_G2.pem
Adding debian:SwissSign_Silver_CA_-_G2.pem
Adding debian:T-TeleSec_GlobalRoot_Class_2.pem
Adding debian:T-TeleSec_GlobalRoot_Class_3.pem
Adding debian:TUBITAK_Kamu_SM_SSL_Kok_Sertifikasi_-_Surum_1.pem
Adding debian:TWCA_Global_Root_CA.pem
Adding debian:TWCA_Root_Certification_Authority.pem
Adding debian:TeliaSonera_Root_CA_v1.pem
Adding debian:Telia_Root_CA_v2.pem
Adding debian:TrustAsia_Global_Root_CA_G3.pem
Adding debian:TrustAsia_Global_Root_CA_G4.pem
Adding debian:Trustwave_Global_Certification_Authority.pem
Adding debian:Trustwave_Global_ECC_P256_Certification_Authority.pem
Adding debian:Trustwave_Global_ECC_P384_Certification_Authority.pem
Adding debian:TunTrust_Root_CA.pem
Adding debian:UCA_Extended_Validation_Root.pem
Adding debian:UCA_Global_G2_Root.pem
Adding debian:USERTrust_ECC_Certification_Authority.pem
Adding debian:USERTrust_RSA_Certification_Authority.pem
Adding debian:XRamp_Global_CA_Root.pem
Adding debian:certSIGN_ROOT_CA.pem
Adding debian:certSIGN_Root_CA_G2.pem
Adding debian:e-Szigno_Root_CA_2017.pem
Adding debian:ePKI_Root_Certification_Authority.pem
Adding debian:emSign_ECC_Root_CA_-_C3.pem
Adding debian:emSign_ECC_Root_CA_-_G3.pem
Adding debian:emSign_Root_CA_-_C1.pem
Adding debian:emSign_Root_CA_-_G1.pem
Adding debian:vTrus_ECC_Root_CA.pem
Adding debian:vTrus_Root_CA.pem
done.
Setting up openjdk-21-jre:amd64 (21.0.7+6~us1-0ubuntu1~24.04) ...
Setting up openjdk-21-jdk-headless:amd64 (21.0.7+6~us1-0ubuntu1~24.04) ...
update-alternatives: using /usr/lib/jvm/java-21-openjdk-amd64/bin/jar to provide /usr/bin/jar (jar) in auto mode
update-alternatives: using /usr/lib/jvm/java-21-openjdk-amd64/bin/jarsigner to provide /usr/bin/jarsigner (jarsigner) in auto mode
update-alternatives: using /usr/lib/jvm/java-21-openjdk-amd64/bin/javac to provide /usr/bin/javac (javac) in auto mode
update-alternatives: using /usr/lib/jvm/java-21-openjdk-amd64/bin/javadoc to provide /usr/bin/javadoc (javadoc) in auto mode
update-alternatives: using /usr/lib/jvm/java-21-openjdk-amd64/bin/javap to provide /usr/bin/javap (javap) in auto mode
update-alternatives: using /usr/lib/jvm/java-21-openjdk-amd64/bin/jcmd to provide /usr/bin/jcmd (jcmd) in auto mode
update-alternatives: using /usr/lib/jvm/java-21-openjdk-amd64/bin/jdb to provide /usr/bin/jdb (jdb) in auto mode
update-alternatives: using /usr/lib/jvm/java-21-openjdk-amd64/bin/jdeprscan to provide /usr/bin/jdeprscan (jdeprscan) in auto mode
update-alternatives: using /usr/lib/jvm/java-21-openjdk-amd64/bin/jdeps to provide /usr/bin/jdeps (jdeps) in auto mode
update-alternatives: using /usr/lib/jvm/java-21-openjdk-amd64/bin/jfr to provide /usr/bin/jfr (jfr) in auto mode
update-alternatives: using /usr/lib/jvm/java-21-openjdk-amd64/bin/jimage to provide /usr/bin/jimage (jimage) in auto mode
update-alternatives: using /usr/lib/jvm/java-21-openjdk-amd64/bin/jinfo to provide /usr/bin/jinfo (jinfo) in auto mode
update-alternatives: using /usr/lib/jvm/java-21-openjdk-amd64/bin/jlink to provide /usr/bin/jlink (jlink) in auto mode
update-alternatives: using /usr/lib/jvm/java-21-openjdk-amd64/bin/jmap to provide /usr/bin/jmap (jmap) in auto mode
update-alternatives: using /usr/lib/jvm/java-21-openjdk-amd64/bin/jmod to provide /usr/bin/jmod (jmod) in auto mode
update-alternatives: using /usr/lib/jvm/java-21-openjdk-amd64/bin/jps to provide /usr/bin/jps (jps) in auto mode
update-alternatives: using /usr/lib/jvm/java-21-openjdk-amd64/bin/jrunscript to provide /usr/bin/jrunscript (jrunscript) in auto mode
update-alternatives: using /usr/lib/jvm/java-21-openjdk-amd64/bin/jshell to provide /usr/bin/jshell (jshell) in auto mode
update-alternatives: using /usr/lib/jvm/java-21-openjdk-amd64/bin/jstack to provide /usr/bin/jstack (jstack) in auto mode
update-alternatives: using /usr/lib/jvm/java-21-openjdk-amd64/bin/jstat to provide /usr/bin/jstat (jstat) in auto mode
update-alternatives: using /usr/lib/jvm/java-21-openjdk-amd64/bin/jstatd to provide /usr/bin/jstatd (jstatd) in auto mode
update-alternatives: using /usr/lib/jvm/java-21-openjdk-amd64/bin/jwebserver to provide /usr/bin/jwebserver (jwebserver) in auto mode
update-alternatives: using /usr/lib/jvm/java-21-openjdk-amd64/bin/serialver to provide /usr/bin/serialver (serialver) in auto mode
update-alternatives: using /usr/lib/jvm/java-21-openjdk-amd64/bin/jhsdb to provide /usr/bin/jhsdb (jhsdb) in auto mode
Setting up openjdk-21-jdk:amd64 (21.0.7+6~us1-0ubuntu1~24.04) ...
update-alternatives: using /usr/lib/jvm/java-21-openjdk-amd64/bin/jconsole to provide /usr/bin/jconsole (jconsole) in auto mode
aptで「dbeaver-ce」のインストール
sudo apt install dbeaver-ce
$ sudo apt install dbeaver-ce
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:
dbeaver-ce
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 133 MB of archives.
After this operation, 172 MB of additional disk space will be used.
Get:1 https://dbeaver.io/debs/dbeaver-ce dbeaver-ce 25.1.3 [133 MB]
Fetched 133 MB in 12s (11.4 MB/s)
Selecting previously unselected package dbeaver-ce.
(Reading database ... 53680 files and directories currently installed.)
Preparing to unpack .../dbeaver-ce_25.1.3_amd64.deb ...
Unpacking dbeaver-ce (25.1.3) ...
Setting up dbeaver-ce (25.1.3) ...
Processing triggers for desktop-file-utils (0.27-2build1) ...
「dbeaver-ce」の起動
dbeaver &
で起動できます
★★★★★★★★★★★
★ 2026/01/12 追記 ★
★★★★★★★★★★★★
★ 後続で記載してる「dbeaver_start_safe.sh」でやったほうが安定します。
★ 後続で記載のスクリプトをコピペして、ホームディレクトリに「dbeaver_start_safe.sh」を
★ 作成し、chmod +x ~/dbeaver_start_safe.sh
★ で実行権限を付与したうえで
★ ~/dbeaver_start_safe.sh
★ で実行。 ~/d か、 ~/db まで打ち込んで、TABキーで保管して実行
★★★★★★★★★★★★
★ 2026/01/11にdbeaverのworkspaceが壊れて、「dbeaver &」では起動しない問題がありました
★ workspaceをバックアップをとって、削除したうえで、やり直すなどをすれば、解決できましたが
★ そんな細かい話、イチイチ、覚えられないし
★ もし、問題ありな状況のときは、解消したうえで、起動する
★ 問題なしならば、単に起動する
★ というのを自動的に行うようなシェルスクリプトをAIに書いてもらいました。
★ 以後は、そのシェルスクリプトをコピペして、ホームディレクトリに配置しておけば
★ なにも、考えずに、単にそれを実行するだけで、OKな状況にしておきたい
★ ネット環境があり、私のこの記事から、該当のシェルスクリプトをコピペするだけで
★ いつでも、その状況にできる
★ メンドイことは、考えずに、いつでも、WSL2でLinux版のdbeaverを起動できる
★ それを実現したいから、追記したのである。
長時間放置してると固まったりして不安定
ただし、このLinux版のdbeaverは、
WSLg の画面描画で動くため、起動して長時間放置してると固まって動かなくなったりする
別に長時間放置してなくても、使ってる時に、いきなり、かたまって
キーボードや、マウスの操作に対して一切、反応しなくなるときがある
dbeaver &
で起動したターミナル上では、ログがコンソール出力されているが
Ctrl + Cでそれをとめても、その固まってしまったdbeaverが残って死なない
そのまま、dbeaver &
をしても、前の分がつまってるのか、途中で固まって、起動できない
この場合の対処法として、
ps aux | grep "dbeaver"
をする
「grep --color=auto dbeaver」と表示されてるのは、上記の
ps aux | grep "dbeaver"そのものを表しているので
それ以外のものが出てきたら
そのプロセス番号で
kill プロセス番号
をする。駄目なら
kill -9 プロセス番号
そしたら、固まってた分が消える
ps aux | grep "dbeaver"
のときに、
「grep --color=auto dbeaver」の分だけしか表示されない状況になったら
dbeaver &
で、再度、起動できるようになるだろう
追記:DBeaver が起動しない/固まるときの「何も考えずに復旧する」スクリプト(WSL2)
WSL2(Ubuntu)上で Linux 版 DBeaver を使っていると、ある日突然、
-
dbeaver &で 起動しない -
dbeaver(前面起動)だと 固まってプロンプトが返らない -
ps -ef | grep dbeaverを見ると プロセスが残っている/残っていないのに挙動が不安定
…といった状態になることがあります。
ここでは、同じ症状のときに 何も考えずに実行するだけで起動まで持っていくためのスクリプト dbeaver_start_safe.sh と、その考え方(原因と対処)をまとめます。
1. 原因:多くの場合「残骸プロセス」か「workspace の不整合」
今回のケースは、DBeaver 本体(Java・インストール・WSLg)が壊れたのではなく、
- 既存の DBeaver プロセス(残骸)が残っている
- あるいは 既定 workspace(ユーザー設定・状態データ)が不整合/破損している
のどちらか(または両方)が原因で、起動が詰まっていました。
実際、-data /tmp/dbeaver_ws_test のように 別 workspace を指定して起動すると動くことが確認できたため、
「DBeaver 本体が壊れている」可能性を下げて 既定 workspace 側が原因と切り分けできます。
2. なぜ「スクリプトを叩くだけ」で直るのか(設計思想)
workspace 系の問題で DBeaver が起動しないとき、人間がやる対処はほぼ定型です。
- まず 残骸プロセスを完全に止める
- 既定 workspace で起動を試す(成功なら設定は維持できる)
- ダメなら workspace の状態を 削除ではなく退避して初期化し、もう一度起動
dbeaver_start_safe.sh は、この 定型手順を自動化しています。
そのため「どんな状態でも、何も考えずに実行するだけ」で復旧できる確率が上がります。
3. dbeaver_start_safe.sh の動作(やっていること)
3-1. DBeaver の残骸プロセスを止める
起動が詰まっているとき、プロセスが残っていると次の起動が ロック待ち/合流待ちになって固まることがあります。
そこでスクリプトは DBeaver を強制終了します。
重要:スクリプト v2 では、dbeaver を殺すときに **pkill -x dbeaver(プロセス名完全一致)**を使っています。
pkill -f dbeaver だと、ファイル名や引数に dbeaver を含む スクリプト自身までマッチして Terminated で止まることがあるためです。
3-2. -data で既定 workspace を明示して起動する
DBeaver は「前回開いた workspace」を内部ファイル(例:.workspaces)で覚えます。
この情報が壊れていると、dbeaver & が意図しない workspace を開こうとして詰まることがあります。
そこでスクリプトは -data ~/.local/share/DBeaverData/workspace6 を明示して、
毎回同じ workspace を狙って起動します(前回情報への依存を減らす)。
3-3. 起動が詰まったら workspace を退避→初期化して再起動する
それでも固まる場合は、workspace が壊れている可能性が高いので、
workspace6-
.workspaces(前回workspace情報)
を **削除せずバックアップへ退避(mv)**し、空の workspace を作って再起動します。
この方式だと、
- とにかく起動を最優先で復旧できる
- バックアップが残るので、後で必要なら参照/復元ができる
というメリットがあります。
4. スクリプト本体(~/dbeaver_start_safe.sh)
#!/usr/bin/env bash
# dbeaver_start_safe_v2.sh
#
# 目的:
# - 何も考えずにこのスクリプトを叩くだけで、DBeaver を「起動できる状態」に持っていって起動する。
#
# v2 修正点(重要):
# - 以前の版は `pkill -f dbeaver` が「このスクリプト自身(ファイル名/コマンドラインに dbeaver を含む)」まで殺してしまい、
# 途中で "Terminated" で止まることがあった。
# - v2 は `pkill -x dbeaver`(実プロセス名が dbeaver のものだけ)に変更し、自己終了しないように修正。
set -Eeuo pipefail
BASE="${HOME}/.local/share/DBeaverData"
WORKSPACE="${BASE}/workspace6"
WORKSPACES_FILE="${BASE}/.workspaces"
LOGDIR="${HOME}/.cache/dbeaver-start-safe"
mkdir -p "${LOGDIR}"
ts="$(date +%Y%m%d_%H%M%S)"
LOG="${LOGDIR}/dbeaver_${ts}.log"
say() { printf '%s\n' "$*" | tee -a "${LOG}" >&2; }
kill_dbeaver() {
# 自己終了しないよう、dbeaver は「完全一致(-x)」で殺す
pkill -TERM -x dbeaver 2>/dev/null || true
# Java 側は bundle 名で特定(こちらはスクリプトに一致しない)
pkill -TERM -f 'org\.jkiss\.dbeaver' 2>/dev/null || true
sleep 1
pkill -KILL -x dbeaver 2>/dev/null || true
pkill -KILL -f 'org\.jkiss\.dbeaver' 2>/dev/null || true
}
is_x_available() {
[[ -n "${DISPLAY:-}" ]] || return 1
if command -v xdpyinfo >/dev/null 2>&1; then
timeout 3s xdpyinfo >/dev/null 2>&1
else
return 0
fi
}
start_dbeaver_and_wait_ready() {
local pid=""
: > "${LOG}"
# -data を明示して「前回workspace(.workspaces)」依存を避ける
# -consoleLog でログを取る(正常起動判定に必要)
dbeaver -data "${WORKSPACE}" -consoleLog >>"${LOG}" 2>&1 &
pid="$!"
local i=0
while (( i < 60 )); do
if ! kill -0 "${pid}" 2>/dev/null; then
return 2
fi
# ログ上で起動完了っぽい行が出たら成功扱い
if grep -qE 'Finish initialization|Run workbench|Configure workbench window|Starting instance server' "${LOG}" 2>/dev/null; then
return 0
fi
sleep 1
((i++))
done
# タイムアウト(固まっている可能性)
pkill -KILL -P "${pid}" 2>/dev/null || true
kill -KILL "${pid}" 2>/dev/null || true
return 3
}
backup_and_reset_workspace() {
local bdir="${BASE}/_backup_start_safe_${ts}"
mkdir -p "${bdir}"
if [[ -d "${WORKSPACE}" ]]; then
mv "${WORKSPACE}" "${bdir}/workspace6" 2>/dev/null || true
fi
if [[ -f "${WORKSPACES_FILE}" ]]; then
mv "${WORKSPACES_FILE}" "${bdir}/.workspaces" 2>/dev/null || true
fi
mkdir -p "${WORKSPACE}"
}
say "== dbeaver-start-safe v2 =="
say "LOG: ${LOG}"
say "BASE: ${BASE}"
say "WORKSPACE: ${WORKSPACE}"
if ! is_x_available; then
say "ERROR: DISPLAY が使えないか、X(WSLg) が応答していません。"
say " DISPLAY='${DISPLAY:-}'"
say " 対処: Windows 側で 'wsl --shutdown' を実行して WSL を再起動してから、もう一度このスクリプトを実行してください。"
exit 10
fi
say "[1/3] Kill existing dbeaver processes..."
kill_dbeaver
say "[2/3] Try start with existing workspace..."
mkdir -p "${BASE}"
mkdir -p "${WORKSPACE}"
# まずは既存 workspace のまま起動を試す(成功すれば設定は維持)
if start_dbeaver_and_wait_ready; then
say "OK: DBeaver started (workspace kept)."
exit 0
fi
say "WARN: Start seems stuck or failed. Resetting workspace (backup & recreate) ..."
say "[3/3] Backup & reset workspace then retry..."
kill_dbeaver
backup_and_reset_workspace
if start_dbeaver_and_wait_ready; then
say "OK: DBeaver started after workspace reset."
say "NOTE: workspace6/.workspaces を退避して初期化しました(バックアップあり)。必要なら接続設定を作り直してください。"
exit 0
fi
say "ERROR: Still failed to start."
say " ここまでで直らない場合は workspace 以外が原因です(例: WSLg, Java/SWT, パッケージ破損など)。"
say " 次のログを見て原因を特定してください: ${LOG}"
exit 20
5. 使い方(これだけ)
chmod +x ~/dbeaver_start_safe.sh
~/dbeaver_start_safe.sh
成功すると次のようなメッセージが出ます。
-
OK: DBeaver started (workspace kept).
→ workspace は維持したまま起動できた -
OK: DBeaver started after workspace reset.
→ workspace をバックアップ退避して初期化した上で起動できた
ログはここに出ます:
~/.cache/dbeaver-start-safe/dbeaver_YYYYmmdd_HHMMSS.log
補足:バックアップが溜まる場合(容量対策)
dbeaver_start_safe.sh は、起動が詰まったと判断した場合に
workspace を「削除せず退避」します。
退避先フォルダ(例):
~/.local/share/DBeaverData/
_backup_start_safe_YYYYmmdd_HHMMSS/
このフォルダが増えているときは、
「起動に失敗したため、workspace をバックアップして初期化した」
回数が増えている状態です。
バックアップには workspace6 一式が入るため、
溜まるとディスク容量を圧迫します。
消してよいタイミング
DBeaver が正常起動できていて、
過去の workspace に戻す予定がない場合は、
古いバックアップを削除して問題ありません。
削除方法(例)
バックアップ一覧の確認:
ls -ld ~/.local/share/DBeaverData/\
_backup_start_safe_*
不要なものを削除(例:特定の1つだけ消す):
rm -rf ~/.local/share/DBeaverData/\
_backup_start_safe_YYYYmmdd_HHMMSS
不安なら、直近のバックアップだけ残し、
それ以前を削除する運用にしてください。
6. 注意点(このスクリプトで直せないケース)
このスクリプトは workspace 起因のトラブルに強いです。
ただし、以下は別問題なので、スクリプトだけでは直りません。
- WSLg 自体が死んでいて GUI が出せない
- Java / SWT 周りの破損
- DBeaver パッケージ自体の破損
その場合でもログは残るので、ログ内容に沿って切り分けします。
7. まとめ
DBeaver が起動しない典型原因は (A) 残骸プロセス と (B) workspace の不整合です。
復旧手順は常に
- 殺す
- 起動を試す
- ダメなら workspace を退避して初期化して再起動
の繰り返しになります。
dbeaver_start_safe.sh はこの定型手順を自動化しているため、
どんな状態でも“考えずに叩くだけ”で起動できる状態に戻せる、というわけです。
Discussion