ManjaroLinux-KDEのメモ-1
初めに
もし、VirtualBoxでやる場合は、ディスプレイのグラフィックスコントローラーをVboxVGA(5系以前のやつ)にすると画面のリサイズを行ってくれるようになると思います。(自分の設定ミスかもしれませんが)
あと、ArchLinuxとは違いPamacというGUIインストーラーがあることを覚えておくことをお勧めします。Pacmanコマンドは非常に優秀ですが、Pamacの場合、ビルド日等のパッケージ情報をわかりやすく確認できます。
目次
- 初めに
- 目次
- インストール後の設定
- VScodeのインストール
- Chrome
- Qemu
- OVMF
- VirtualBox
- Clang+lldのインストール
- SDDMにKDEのカラーテーマやマウステーマを反映させる方法
- GIMPのインストール
- Krita
- gdbのインストール
- gdb-pedaのインストール
- Yakuakeのショートカット
- Bash
- zsh
- KDEのカレンダーをGoogleカレンダーと同期
- Dolphinのショートカット
- ターミナルのショートカットキー
- Krunnerの起動方法
- Kwinの便利なショートカット
- ティアリングが発生した場合の修正
- ウィンドウキャプチャソフト
- システムがクラッシュした際
- セキュリティ
- 小ネタという便利なものまとめ
- トラブルシューティング
- emacsでemacs-mozcにする
- 参考
インストール後の設定
時刻設定
KDE
KDEだと時刻設定が自動化されていないので自動にする。
圧縮をマルチコアへ
sudo nano /etc/makepkg.conf
COMPRESSXZを以下に変更
COMPRESSXZ=(xz -c -z - --threads=0)
ミラーサーバの調整
sudo pacman-mirrors --fasttrack
Pamacの設定からでもできます。その際は、使用するミラーサーバをJapanにする
Trim機能の有効化
SSDを使用している実機のみです
sudo systemctl enable fstrim.timer sudo systemctl start fstrim.timer
IMEの導入
Ubuntuのようにjaエディションはないので、自分で入れる必要があります。
sudo pacman -S fcitx-im fcitx-configtool fcitx-mozc
Manjaroで公開されているGUIインストーラーであるPamacの場合だと、Fcitx・Fcitx設定・fcitx-qt5・fcitx-configtool・zinnia・fcitx-mozcがインストールされていました。
次に設定を行います。
nano .xprofile
で以下をコピペする
export LANG="ja_JP.UTF-8" export XMODIFIERS="@im=fcitx" export XMODIFIER="@im=fcitx" export GTK_IM_MODULE=fcitx export QT_IM_MODULE=fcitx export DefaultIMModule=fcitx
次に
nano .bashrc
以下をコピペ
# fcitx export GTK_IM_MODULE=fcitx export XMODIFIERS=@im=fcitx export QT_IM_MODULE=fcitx
ログアウトして再ログインかsourceコマンド(未確認)で設定を反映させれると思います。
KDEシステム設定からFcitxを扱えるようにする
kcm-fcitxをインストール
ディレクトリを英語にする
xdg-user-dirs-gtk
パッケージをインストールする。
次に、以下のコマンドを実行する
LANG=C xdg-user-dirs-gtk-update
Don`t ask again.にクリックを入れ、update namesを押す
コンソール上での文字化けを防ぐ処理
Ctrl + Alt + F1~nで表示できるコンソールを文字化けしないように、英語表示に変換するようにする設定。
以下を~/.bashrcに記載
case $TERM in linux) LANG=C ;; *) LANG=ja_JP.UTF-8 esac
KDE
KDEのDolphinのドキュメントとダウンロードが参照できなくなるので、右クリックから再設定してあげてください
言語パッケージをインストールする。
Manjaro setting managerから言語マネージャーを選択し、パッケージのインストールを選択する これで、libreoffice等が日本語化していると思う。
PamacをAURで使用できるようにする
これに関しては慎重に考えてから実行すること。なぜかはManjaroWikiで説明されているので確認すること
Arch User Repository - Manjaro
Pamacを開き、右上の設定を選択します
AURの項目を開きます
AURを有効にし、任意の項目をチェックします(項目の選択は自己責任で…)
Snapやミラーサーバの設定も行えるようですね。
VScodeのインストール
PamacにおいてAURを有効にした大きな理由です。AURではVScodeの公式パッケージをサポートしています。(Archの公式リポジトリの方はOSSをビルドしたやつです)
ここから選択しビルドすればできます。
後は、自由に設定を
VScodeのGit機能を同期する時にエラーがでる問題
まずgnome-keyringの導入を行う
おそらくこのまま使用するとgnome-keyringのキーリングパスワードを聞かれうっとしいと思われるので、いかの処置を行う。(この時点ではパスワード設定しないこと)
以下のWikiのディスプレイマネージャーを使用するを参照する
ManjaroLInux-KDEのデフォルトのマネージャーはSDDMなため以下の場所を使用
こちらの設定の/etc/pam.d/kdeを/etc/pam.d/sddmに読み替えて設定を行う。
以下の画像の選択した部分である。場所は厳密に指定されているため、ArchWikiを読むこと
参照
Chrome
AURに公式バイナリがあります。
デフォルトのアプリケーションをChromeに変更する際の注意
KDEシステム設定のデフォルトのアプリケーションを変更するだけだと、Chromeの方でデフォルトではないですと言われ続けます。
そこで、ファイルの関連付けも変更する必要があるとのこと
以下の場所へ行く
以下の設定を
以下のように変更する
参考
Qemu
GNOMEで検証
ArchWikiの説明どうりにインストールすれば問題ない。
KDEで検証
対応アーキテクチャを増やすための拡張パック
OVMF
GNOME、KDEで検証
/usr/share/ovmf/
の以下に32ビットや64ビット版とわかれて管理されている。
VirtualBox
VMwareは、パッケージだとライセンスキーが必要っぽかったので。
PamacでVirtualBoxと調べると出てくる。
オプション
その後、使用しているカーネル(uname --allかカーネル設定を見ればわかると思う)に対応したモジュールを選択。
その後、リブートするかsudo vboxreload
を実行し、モジュールを読み込む
最後に、Vboxuseraグループにユーザーを追加
sudo gpasswd -a $USER vboxusers
VirtualBox拡張パックに関して
AURにあるので、Pamacでvirtualbox-ext-oracle
と検索すればある。
以下の表示があればインストール成功
参考
以下のページが参考となります。
Clang+lldのインストール
UEFIアプリケーションへのクロスコンパイル用のmingwのインストールがめたっくそめんどくさい上に大変そう(個人的感覚)なので、Clangで代替えをします。
インストール
Pamacで
clang
ldd
をインストールします。
コンパイルオプション
UEFIアプリケーションのコンパイルは(あくまでも参考文献からの引用なので、しっかり調べた方がよき?)
clang -target x86_64-pc-win32-coff -fno-stack-protector -fshort-wchar -mno-red-zone -nostdlibinc -Wall -Wpedantic -c -o efimain.o main.c
リンク
lld-link -subsystem:efi_application -nodefaultlib -dll -entry:efi_main efimain.o -out:BOOTX64.EFi
で行けました。
参考+引用文献
SDDMにKDEのカラーテーマやマウステーマを反映させる方法
まずカラーテーマ等一式を設定する。
直観的にわかると思う。
KDE設定からSDDMで検索をかける。
以下の中で同期をするを選択する。
GIMPのインストール
Pamacより
インストール後、言語パッケージを上の方で述べたように記入を行えばできる。
Krita
AURや公式リポジトリにないので、Flatpakからインストールを行う
まず以下の場所をONにして、パッケージマネージャが使えるようにする。
あったわ...
以下のようにインストールできます。
gdbのインストール
Pamacからインストール
gdb-pedaのインストール
二種類方法がある。個人的にはgit cloneしたものを使った方がいいかも
git clone
ページ先のインストール方法に従えばいい
AURから
Manjaroの公式リポジトリはエラーが多発したためAURから(しかしAURも最終更新が2016年なので、わからん...)
その後.gdbinitに以下を記載
source /usr/share/peda.py
Python関連でエラーをはかれた場合
Python2をインストールすれば治るかもしれない
Yakuakeのショートカット
タブを増やす・・・Shift+Cttl+T
タブを消す・・・Shift+Ctrl+W
タブを移動・・・Shift+<矢印キー>
Bash
プロンプト
以下のように設定した
GIt status用関数(プロンプトを定義する前に必須)
function parse_git_branch { git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/' }
通常ユーザー
export PS1='\[\e[0;1;3;38;5;77m\]\u\[\e[0m\]:\[\e[0;1;2;4;53;38;5;32m\]\A\[\e[0m\][\[\e[0;1;38;5;133m\]\w\[\e[0m\]]\[\e[m\]\n\[\e[0;1;33m\]$(parse_git_branch)\[\e[0;5;38;5;160m\]\$\[\e[0m\]>\[\e0'
ルートユーザー
PS1='\[\e[0;1;3;91m\]\u\[\e[0m\]:\[\e[0;1;4;53;95m\]\A\[\e[0m\][\[\e[0;1;92m\]\w\[\e[0m\]]\[\e[m\]\n\[\e[0;5;91;102m\]\$\[\e[0m\]>\[\e0
Halloween Bash Profile Generator
fzf
あいまい検索用のツール。これを利用することで、altcdや履歴検索、ファイルサーチに役立つ。それだけでなく、自前で関数を用意すればいろんなことができる。
カスタマイズする上で追加したアプリケーション
- ripgrep
- exa
.bashrcに以下を追記
# fzf source /usr/share/fzf/completion.bash && source /usr/share/fzf/key-bindings.bash export FZF_ALT_C_OPTS="--preview 'exa -T {} | head -200' --bind alt-j:preview-down,alt-k:preview-up" export FZF_DEFAULT_COMMAND='rg --files --hidden --glob "!.git/*"' export FZF_CTRL_T_COMMAND='rg --hidden --no-ignore --files --glob "!.git/*"' # Ctrl-tのコマンド上書き export FZF_CTRL_T_OPTS='--bind ctrl-t:down,space:toggle'
zsh
プロンプト
KDEのカレンダーをGoogleカレンダーと同期
まず初めにKOrganizer をインストール
optionの方もとりあえずインストール
Dolphinのショートカット
KDEのファイルマネージャー
キー | 内容 |
---|---|
Shift + F4 | ターミナルを開く |
F10 | フォルダの新規作成 |
ターミナルのショートカットキー
キー | 内容 |
---|---|
Ctrl + u | 行頭まで削除 |
Ctrl + k | 行末まで削除 |
ctrl + w | ワード単位で行頭方向の文字列を削除 |
Ctrl + r | コマンド履歴の検索 |
Krunnerの起動方法
アプリケーションの検索を早くできる。
起動
Alt+Space
閉じる
Esc
Kwinの便利なショートカット
タイル化・・・Meta+<方向キー>
ウィンドウを最大化・・・Meta+W
ティアリングが発生した場合の修正
コンポジタの拡大方法を鮮明に変更したら治りました。謎...
なんか再起動すると少し不安定になったので、正確に選択してから鮮明に戻すと治りました。(時間経過?偶然?設定ファイルの読み直し?)
ここの「コンポジタを起動時に有効にする」をしたらティアリングがほぼ解消した。
ウィンドウキャプチャソフト
vokoscreenNGというソフトウェアにしました。Pamacで公式リポジトリにvokoscreenとしてあります。
システムがクラッシュした際
難解だけどここを参照するのがいいかも!
セキュリティ
gufwのインストール
xfce
既にインストールされています
KDE
Pamacでgufwって調べれば出る
Statusをポチッと押せば起動する
詳しくは、ArchWikiを...
ファイアウォール - ArchWiki
Uncomplicated Firewall - ArchWiki
ufw
Pamacでインストール
インストール後サービスを有効化する
sudo systemctl start ufw sudo systemctl enable ufw
初期設定
ufw default deny incoming ufw default allow outgoing
その後ログをオフにするために
ufw logging off
設定が終わったので、ufwを有効にする
sudo ufw enable
KDEconnectへの対応
以下のコマンドでポート開放をする
ufw allow 1714:1764/udp ufw allow 1714:1764/tcp ufw reload
clamAV
フリーのアンチウイルスソフト
Pamacより以下をインストール
まず、データベースの更新を行う。その際にWarrningが出るが無視(正常な反応だが、先にデータベースを更新しないと不具合が発生するそうなので)
sudo freshclam
次に、各種デーモンの立ち上げを行う。
sudo systemctl enable --now clamav-daemon sudo systemctl enable --now clamav-freshclam
デーモンのステータスの確認
sudo systemctl status clamav-daemon && sudo systemctl status clamav-freshclam
あとはウイルス定義データベースの確認
freshclam -V
スキャン方法
homeディレクトリをスキャンするには
clamscan --infected --recursive /home
30GBで11分くらいでした。 他にも、スキャンのファイルサイズの上限指定、特定ディレクトリの除外、ウイルスを発見時の挙動をオプションで設定できるので
man clamscan
した方がいいかも?
参考
小ネタという便利なものまとめ
ネットワークの通信を確認
ssコマンドを使用する。netstatコマンドの後継のような存在。 TCPの場合
ss -npt
UDPの場合
ss -npu
プロセスIDの確認
ps -p <psid>
実行されているサービスの確認
sudo systemctl list-unit-files --type=service
特定のサービスを探したいときは
sudo systemctl list-unit-files --type=service | grep <サービス名>
Windowの左上にある四角いやつ
すべてのデスクトップに共有される。
外付けディスプレイで発表とかで、瞬時に表示できて役に立ちそう?
トラブルシューティング
pamacでAURのビルドに失敗する場合
ビルド中に中止をしてダウンロードしたファイルがあるけど、削除されてない可能性がある。
以下の右下のビルドファイルを空にするを行う。
emacsでemacs-mozcにする
そのままだとmozcと競合するので以下にPKGBLDファイルを変更する
このビルドファイルはあっている保障はないので自己責任で。
# Maintainer: ponsfoot <cabezon dot hashimoto at gmail dot com> ## If you will be using mozc.el on Emacs, uncomment below. _emacs_mozc="yes" ## If you will not be using ibus (only use uim), comment out below. #_ibus_mozc="yes" ## If you do not want to add Japanese zip code into dictionary, ## comment out below. _zipcode="yes" ## Mozc compile option _bldtype=Release #_bldtype=Debug #************************************************************* # Upstreams: # # mozc # http://code.google.com/p/mozc/ # # Japanese zip code data by Japan Post (Public Domain) # http://www.post.japanpost.jp/zipcode/download.html # # Modified Japanese zip code data by Ibs (Public Domain) # http://zipcloud.ibsnet.co.jp/ #************************************************************* _zipcoderel=201811 _mozcrev=afb03ddfe72dde4cf2409863a3bfea160f7a66d8 pkgbase=mozc pkgname=my-mozc true && pkgname=('my-mozc') pkgver=2.23.2815.102 pkgrel=3 arch=('i686' 'x86_64') url="http://code.google.com/p/mozc/" license=('BSD' 'custom') makedepends=('python2' 'git' 'ninja' 'clang' 'qt5-base') #source=("${_svndir}/${_svnmod}::svn+${_svntrunk}" source=( mozc::git+https://github.com/google/mozc.git#commit=${_mozcrev} https://osdn.net/projects/ponsfoot-aur/storage/mozc/x-ken-all-${_zipcoderel}.zip https://osdn.net/projects/ponsfoot-aur/storage/mozc/jigyosyo-${_zipcoderel}.zip https://gist.githubusercontent.com/MightyPork/6b93f56b404e526268ac133f1a783afd/raw/40b3b9569d4b0741d78c511b247b26d2b1e7a2ae/mozc.patch ) sha1sums=('SKIP' 'c274abcc6d259dae8dae121408c25fff19052585' '6187d52063d5ddf8cb7ed060cfff03cf91ed45cf' 'a366077418ae6f235aecf374256354a40dc5b37a') if [[ "$_emacs_mozc" == "yes" ]]; then true && pkgname+=('emacs-mozc') makedepends+=('emacs') fi if [[ "$_ibus_mozc" == "yes" ]]; then true && pkgname+=('ibus-mozc') fi pkgver() { . "${srcdir}/${pkgbase}/src/data/version/mozc_version_template.bzl" printf "%s.%s.%s.%s" $MAJOR $MINOR $BUILD $REVISION } prepare() { ln -sf `which python2` "${srcdir}/python" cd "${srcdir}/${pkgbase}/" git submodule update --init --recursive cd "${srcdir}/${pkgbase}/src/" # Generate zip code dictionary seed if [[ "$_zipcode" == "yes" ]]; then msg "Generating zip code dict seed..." cd "$srcdir" PYTHONPATH="${PYTHONPATH}:${srcdir}/${pkgbase}/src/" \ python2 mozc/src/dictionary/gen_zip_code_seed.py \ --zip_code=x-ken-all.csv \ --jigyosyo=JIGYOSYO.CSV \ >> "${srcdir}/${pkgbase}/src/data/dictionary_oss/dictionary09.txt" msg "Done." fi patch -Np0 -i "${srcdir}/mozc.patch" } build() { msg2 '=====================================================' msg2 ' *** Build Info ***' msg2 ' The following package files will be generated:' for _p in ${pkgname[@]} do msg2 " * ${_p}-${pkgver}-${pkgrel}-${CARCH}${PKGEXT}" done msg2 '=====================================================' PATH="${srcdir}:${PATH}" cd "${srcdir}/${pkgbase}/src" msg "Starting make..." _targets="server/server.gyp:mozc_server gui/gui.gyp:mozc_tool " [[ "$_emacs_mozc" == "yes" ]] && _targets+="unix/emacs/emacs.gyp:mozc_emacs_helper " [[ "$_ibus_mozc" == "yes" ]] && _targets+="unix/ibus/ibus.gyp:ibus_mozc renderer/renderer.gyp:mozc_renderer " unset CC CC_host CC_target CXX CXX_host CXX_target LINK AR AR_host AR_target \ NM NM_host NM_target READELF READELF_host READELF_target GYP_DEFINES="document_dir=/usr/share/licenses/${pkgbase}" \ python2 build_mozc.py gyp --target_platform=Linux python2 build_mozc.py build -c $_bldtype $_targets if [[ "$_ibus_mozc" == "yes" ]]; then sed -i 's|/usr/libexec/|/usr/lib/ibus-mozc/|g' \ out_linux/${_bldtype}/gen/unix/ibus/mozc.xml fi } package_my-mozc() { pkgdesc="A Japanese Input Method for Chromium OS, Windows, Mac and Linux (the Open Source Edition of Google Japanese Input)" arch=('i686' 'x86_64') groups=('mozc-im') # depends=('qt5-base' 'zinnia') # replaces=('mozc-server' 'mozc-utils-gui') # conflicts=('mozc-server' 'mozc-utils-gui') optdepends=('tegaki-models-zinnia-japanese: hand-writing recognition support') #cd "${srcdir}/${pkgbase}/" #install -D -m 755 src/out_linux/${_bldtype}/mozc_server "${pkgdir}/usr/lib/mozc/mozc_server" #install -m 755 src/out_linux/${_bldtype}/mozc_tool "${pkgdir}/usr/lib/mozc/mozc_tool" #install -d "${pkgdir}/usr/share/licenses/mozc/" #install -m 644 LICENSE src/data/installer/*.html "${pkgdir}/usr/share/licenses/mozc/" } package_ibus-mozc() { pkgdesc="IBus engine module for Mozc" arch=('i686' 'x86_64') groups=('mozc-im') depends=("mozc=${pkgver}" 'ibus>=1.4.1') cd "${srcdir}/${pkgbase}/src" install -D -m 755 out_linux/${_bldtype}/ibus_mozc "${pkgdir}/usr/lib/ibus-mozc/ibus-engine-mozc" install -D -m 644 out_linux/${_bldtype}/gen/unix/ibus/mozc.xml "${pkgdir}/usr/share/ibus/component/mozc.xml" install -D -m 644 data/images/unix/ime_product_icon_opensource-32.png "${pkgdir}/usr/share/ibus-mozc/product_icon.png" install -m 644 data/images/unix/ui-tool.png "${pkgdir}/usr/share/ibus-mozc/tool.png" install -m 644 data/images/unix/ui-properties.png "${pkgdir}/usr/share/ibus-mozc/properties.png" install -m 644 data/images/unix/ui-dictionary.png "${pkgdir}/usr/share/ibus-mozc/dictionary.png" install -m 644 data/images/unix/ui-direct.png "${pkgdir}/usr/share/ibus-mozc/direct.png" install -m 644 data/images/unix/ui-hiragana.png "${pkgdir}/usr/share/ibus-mozc/hiragana.png" install -m 644 data/images/unix/ui-katakana_half.png "${pkgdir}/usr/share/ibus-mozc/katakana_half.png" install -m 644 data/images/unix/ui-katakana_full.png "${pkgdir}/usr/share/ibus-mozc/katakana_full.png" install -m 644 data/images/unix/ui-alpha_half.png "${pkgdir}/usr/share/ibus-mozc/alpha_half.png" install -m 644 data/images/unix/ui-alpha_full.png "${pkgdir}/usr/share/ibus-mozc/alpha_full.png" install -D -m 755 out_linux/${_bldtype}/mozc_renderer "${pkgdir}/usr/lib/mozc/mozc_renderer" } package_emacs-mozc() { pkgdesc="Mozc for Emacs" arch=('i686' 'x86_64') groups=('mozc-im') depends=( 'emacs') # del "mozc=${pkgver}" replaces=('emacs-mozc-bin') conflicts=('emacs-mozc-bin') install=emacs-mozc.install cd "${srcdir}/${pkgbase}/src" install -D -m 755 out_linux/${_bldtype}/mozc_emacs_helper "${pkgdir}/usr/bin/mozc_emacs_helper" install -d "${pkgdir}/usr/share/emacs/site-lisp/emacs-mozc/" install -m 644 unix/emacs/mozc.el "${pkgdir}/usr/share/emacs/site-lisp/emacs-mozc" } # Global pkgdesc and depends are here so that they will be picked up by AUR pkgdesc="A Japanese Input Method for Chromium OS, Windows, Mac and Linux (the Open Source Edition of Google Japanese Input)" # depends=('qt5-base' 'ibus>=1.4.1' 'zinnia')