蕎麦茶さんの備忘録

エンジニアスキルになる記事を記載していきます

Firefoxの設定user.jsをユーザ毎に配布する

概要

firefoxで高度な設定を行う際about:configをアドレスに入力することで設定エディタを開くことができる

設定エディタから設定しなくとも、user.jsを作成することによって設定することができる support.mozilla.org

設定

%APPDATA%\Mozilla\Firefox\Profiles\該当のディレクトリ配下にprefs.jsが存在するので同ディレクトリにuser.jsを設置する

prefs.jsの中身を見ればわかると思うが、user.jsの中身は以下のように記載する

user_pref("network.http.http2.enabled", false);

該当のディレクトリはユーザプロファイル毎に異なるので以下を参考に探す support.mozilla.org

配布

今回はユーザ毎が任意のタイミングでbatを叩くことで設定が変更されるようにする

厄介なことにprefs.jsが格納されているディレクトリはユーザ毎に大きく異なるのでprefs.jsが格納されているという仕様を利用する

%APPDATA%\Mozilla\Firefox\Profiles\配下からprefs.jsを検索し、見つかれば同ディレクトリにuser.jsを作成する

@echo off
set "filename=prefs.js"
set "dir=%APPDATA%\Mozilla\Firefox\Profiles"
for /R "%dir%" %%i in ( *) do (
    if /I "%%~nxi"=="%filename%" (
        set "filepath=%%~dpi"
        goto :make
    )
)
echo No prefs.js Not found.
pause
goto :eof
:make
cd %filepath%
echo user_pref("network.http.http2.enabled", false); > user.js
echo Disabled http2.
pause

echoで表示している文言、以下設定項目は任意の設定に変更

echo user_pref("network.http.http2.enabled", false); > user.js

github.com

archlinuxで外部モニターを使用する

概要

  • archlinuxをインストールした端末にHDMIを抜き差ししてもサブモニターに映像が出力されない。
  • xrandrコマンドを利用することで出力することはできるが、手間なので自動化する。

xrandr - ArchWiki

  • 記者の環境は以下を参照

github.com

手順

  1. systemフォルダへ移動する
    cd /etc/systemd/system

  2. .serviceファイルを作成する
    sudo vim monitor-connect.service

  3. 以下のように記載する

[Unit]
Description=Connect to HDMI Monitor
After=display.service

[Service]
Type=oneshot
ExecStart=/usr/bin/bash -c '
    if [ -e /sys/class/drm/card*/device/HDMI1 ]; then
        xrandr --output HDMI1 --auto --right-of VGA1
    elif [ -e /sys/class/drm/card*/device/HDMI2 ]; then
        xrandr --output HDMI2 --auto --right-of VGA1
    fi
'
After=multi-user.target graphical.target display-manager.service

[Install]
WantedBy=multi-user.target
  1. systemをリロードする
    sudo systemctl daemon-reload

  2. systemの有効化
    sudo systemctl enable monitor-connect.service

  3. 再起動
    reboot

解説

  • モニタ側のHDMI1、HDMI2どちらにも対応できるようにする
 if [ -e /sys/class/drm/card*/device/HDMI1 ]; then
        xrandr --output HDMI1 --auto --right-of VGA1
    elif [ -e /sys/class/drm/card*/device/HDMI2 ]; then
        xrandr --output HDMI2 --auto --right-of VGA1
    fi
  • 起動に失敗しないようにsystemdスクリプトの実行順序を変更する
After=multi-user.target graphical.target display-manager.service

トラブルシューティング

  • ファイル権限の見直し
  • ディスプレイマネージャーとの競合問題解決

ThinkPad X280にArchLinuxをインストールする 概要編

なぜAcrhLinuxを選んだのか

LinuxにはRedHat系のCentOSDebian系のUbuntuなど様々な種類がある。

それぞれに特徴があるが、ArchLinuxの特徴と使っていくメリットを上げていく。

インストール難易度が高い

いきなりインストール難易度が高いと聞いて幻滅してしまった方もいるだろう。

しかしインストールを終えた頃にはある程度の知識を持てるとも言える。

具体的にどのように難易度が高いのか書いていこう。

 

・インストール時、インストール後ユーザーインターフェースが無い。

・自身でウィンドウマネージャを導入するまではCUIコマンドライン)での操作を強いられる。

・viやbashなど最低限のパッケージしか初期インストールされておらずOS自体の容量はなんと500MB。

・エディタやGUIの導入からパーティションの作成、フォーマットまで全てコマンドラインで行わなければならない。

 

初めてLinuxを触る人には茨の道だが、これらの作業を終える頃には基礎的なLinuxコマンド、Linuxの構造を自分の手で覚えさせることができるだろう。

wikiやコミュニティが充実している

ArchLinuxには公式のwikiやコミュニティーが多数存在している。

wiki.archlinux.jp

 

基礎的な設定作業やバグやトラブルシューティングにも柔軟に対応しやすい環境だと言える。

 

パッケージ管理が容易

冒頭の方でも書いたようにArchLinuxの初期容量は500BMと軽量なディストリビューションである。

それに加えpacmanと呼ばれるパッケージ管理システムが容易されており、

外部パッケージの導入にはAURと呼ばれるものを利用する。

wgetを利用せずとも外部パケージを導入できる。

 

具体的な情報は以下を参照

wiki.archlinux.jp

 

以上がArchLinuxの特徴と利用するメリットになる。

次回は導入編を紹介していこう。

 

Seeyou!