Posted: 2026-05-20
| Categories:
ubuntu
| Tags:
css ,
firefox ,
ubuntu ,
youtube
FirefoxのuserContent.cssでYouTubeを軽くする 4GB RAM 級の古い PC や小型 tablet で YouTube を開くと、動画そのものより周辺 UI の重さが気になることがある。
広告、コメント、関連動画、Shorts、棚 UI、アニメーションなどを CSS で非表示にすると、JavaScript の実行自体は止められないが、描画負荷と見た目の密度は下げられる。
このメモでは、Stylus のような拡張機能ではなく Firefox 標準の userContent.css を使ってみた時のメモ。
方針 JavaScript は使わない 外部 URL、@import、url(...) は使わない CSS は YouTube domain に限定する Firefox の policy で userContent.css を有効化する profile が snap 版と deb 版で分かれることを前提にする CSS の外形は次のようになる。
@ -moz-document domain ( "youtube.com" ) {
ytd-rich-section-renderer ,
ytd-reel-shelf-renderer ,
ytd-rich-shelf-renderer [ is-shorts ],
ytd-comments ,
# comments {
display : none !important ;
}
}
実際には YouTube の DOM 変更に備え、Shorts 系、棚 UI、コメント、関連 UI を複数 selector で押さえる。
userContent.cssを使う理由 Stylus のような extension を使うと管理は楽だが、低メモリ端末では extension 自体も増やしたくないことがある。
Read more... Posted: 2026-05-20
| Categories:
ubuntu
| Tags:
android ,
ansible ,
rust ,
slint ,
ubuntu
UbuntuでAndroid + Rust/Slint開発環境をAnsible管理する Ubuntu workstation に Android Studio、Android SDK、Emulator、Rust Android build 環境を入れる場合、GUI installer 任せにすると再構築時の差分が見えにくい。
Ansible では、OS 側の依存、SDK directory、Rust toolchain、Emulator 用 group、確認用 AVD を分けて管理すると扱いやすい。
管理するもの Android Studio Android SDK command-line tools platform-tools emulator Android platform / build-tools NDK x86_64 emulator image Rust toolchain x86_64-linux-android targetcargo-apkKVM / libvirt / plugdev group Android Studio 本体は公式 tarball を固定 path に展開し、SDK は /opt/android-sdk のような system-wide path に置くと、複数 shell や editor から参照しやすい。
directory方針 例:
Read more... Posted: 2024-01-25
| Categories:
firefox
| Tags:
firefox ,
snap
背景 2024/01時点だとUbuntu22.04 LTSでfirefoxをインストールしようとするとSnap版がインストールされます。
Snapは、アプリケーションとその依存関係を含む自己完結型のパッケージ形式で、異なるLinuxディストリビューション間での互換性を提供します。
Snapパッケージは独自のサンドボックス環境で実行され、セキュリティと隔離を強化します。自動更新機能により、常に最新のソフトウェアバージョンを維持することを目的としています。
仕組み自体は良い仕組みだと思います。ただ私の環境では動作しなかったので、回避方法のメモを残します。
回避策 snapのfirefoxではなくMozillaチームのfirefoxを入れます。
ハマりやすいポイント Snap自体は割と20.04の頃から存在しており使ったりしていたのですが、22.04から apt install firefox
とした場合でもsnapのパッケージがインストールされるようになりました。
(つまりdebでインストールされるように見えるが実はSnapパッケージ)
エラーメッセージ 「/home以外にホームディレクトリがあると追加で設定が必要ですよ」というメッセージが出る。
$ firefox
Sorry, home directories outside of /home needs configuration.
See https://forum.snapcraft.io/t/11209 for details.
オススメされているURLが Support for non /home homedirs 内容を見ると、
Home directories outside of
‘/home’ に情報がまとまっているとの事。アプローチとしては2つ
sudo snap set system homedirs=<destination-directory> を実行してね/home配下のホームディレクトリ配下にbindマウントしてね 1のアプローチを試してみるがエラー
$ sudo snap set system homedir=/mnt/nfs/home/exampleuser/
error: cannot perform the following tasks:
- Run configure hook of "core" snap (run hook "configure": cannot set "core.homedir": unsupported system option)
現在の状況を snap get で取得するもエラー
Read more... Posted: 2021-08-03
| Categories:
Ubuntu
| Tags:
Keyboad ,
Ubuntu
環境 Ubuntu Studio 22.04
UbuntuでUSBインストーラを作る isoイメージをホームディレクトリ直下に移動しておくとイメージを自動的にリストアップしてくれる。
usb-creator-gtk, usb-creator-kde が存在するので未インストールであればインストールして起動。
Ubuntu Studio 22.04 インストーラ固有 Nvidia RTX3060だとインストーラがGPU経由で表示できない M/BのUEFIの画面で[Initiate Graphic Adapter]の箇所でPEG(オンボードでないGPU)をIDG(内蔵のグラフィック機能)に変更M/BのD-SubなりHDMIに接続しセットアップOSセットアップ後、NvidiaのドライバーをインストールしPEGに戻した。 レポジトリのキーファイル操作 apt-key は非推奨。新規にリポジトリ鍵を追加する場合は、/usr/share/keyrings/ に鍵を置き、リポジトリ設定の signed-by= で参照する。
既存環境の棚卸しや削除時だけ apt-key list / apt-key del を使う。
キー一覧
キー削除
ファイルを直接削除
下記ディレクトリ配下のファイルを削除
/usr/share/keyrings/ /etc/apt/trusted.gpg.d/ ssh鍵の作成とgithubへの登録 右上の自分のアイコンをクリック -> Settings -> SSH and GPG keys -> New SSH Key
ssh-keygen
cat ~/.ssh/id_rsa.pub
表示された公開鍵をGithubに貼り付けて設定
ghqをインストールしてgetする apt install golang-go
go install github.com/x-motemen/ghq@latest
コマンドサーチパスに ~/go/bin を追加
Read more... Posted: 2021-07-25
| Categories:
ubuntu
| Tags:
apparmor ,
buildkit ,
nerdctl
背景 containerdをrootlessで動かそうとしたところAppArmorに引っかかってしまった
(私の場合、/mnt配下の追加ディスク上にコンテナイメージを置きたい、という背景があったため引っかかったと思われる)
標準的なディレクトリ以外で動作させようとした場合に問題になりそう。
下記のエラーが出た Mar 6 00:39:00 marie-ms7817 systemd[1055]: Started libcontainer container d1b514a134af96a15f5062afe042fd8654d91b2be4bef27f9af5865e29d2cad7.
Mar 6 00:40:30 marie-ms7817 kernel: [ 7375.140738] audit: type=1400 audit(1709653230.078:103): apparmor="DENIED" operation="change_onexec" class="file" info="label not found" error=-2 profile="unconfined" name="nerdctl-default" pid=54813 comm="aa-exec"
apparmor=“DENIED
operation=“change_onexec” このメッセージは、AppArmor(Linuxのセキュリティモジュールの一つ)が、実行時の権限変更を拒否したことを示している。
特に、name=“nerdctl-default"に関連する操作が拒否されており、これはコンテナのセキュリティポリシーに関連する問題を示唆している。
label not foundという部分から、特定のセキュリティラベルが見つからない、または適切に設定されていない可能性がある。
既存の設定前の確認 nerdctl-defaultに関連する設定があるか確認。
下記コマンドで現在のAppArmorの設定のリストを出力し設定があるか確認(無かった)
ポリシーファイルの作成 /etc/apparmor.d ディレクトリに nerdctl-default という名前の新しい AppArmor ポリシーファイルを作成する。
/etc/apparmor.d/nerdctl-default とした。
#include <tunables/global>
profile nerdctl-default flags=(attach_disconnected,mediate_deleted) {
/ r,
/dev/tty rw,
/dev/pts/** w,
/dev/null rw,
/etc/.ro*/ld.so.cache r,
/etc/ld.so.cache r,
/etc/locale.alias r,
/etc/nsswitch.conf r,
/etc/passwd r,
/mnt/append-disk/containerd/** rwk,
/proc/ r,
/proc/** r,
/sys/devices/system/** r,
/sys/kernel/mm/transparent_hugepage/hpage_pmd_size r,
/usr/bin/** rix,
/usr/lib/locale/locale-archive r,
/usr/lib/x86_64-linux-gnu/** rm,
/usr/lib/locale/** r,
/usr/share/terminfo/** r,
/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/** rwk,
/var/lib/containerd/** rwk,
owner /** rwix,
network,
ptrace (read, readby) peer=nerdctl-default,
signal (receive) peer=nerdctl-default,
signal (receive) peer=unconfined,
signal (send) peer=nerdctl-default,
signal (send) set=kill peer=unconfined,
}
それぞれの意味。
Read more...