カテゴリー
アプリ

FireFox 91.0 へ更新したらブックマークのアイテム間の Spacing が広がってしまったのをパッチを当てて戻す方法

動機

89.0 までは Proton UI を無効化する方法で対処できましたが、このバージョンからはできなくなりました。

どうしても受け容れれないくらい使いにくくなってしまったので、時間を掛けてネット検索したところ、効果的な方法を見つけたので投稿しておきます。

参考記事

方法

Firefox のアドレスバーへ about:config と入力する。

注意して進んでください!」と表示されたページが現れるので「危険性を承知の上で使用する」ボタンを押す。

「設定名を検索」へ次のキーワードを入力。

toolkit.legacyUserProfileCustomizations.stylesheets

値が false と表示されているはずなので、これを true へ変更(右脇の横向き矢印を押す)。

PowerShell を開く。次のスクリプトを順次入力する。

$defaultRelease = Get-ChildItem -Path "$env:AppData/Mozilla/Firefox/Profiles" -Directory -Filter '*.default-release*' | Sort-Object -Property LastWriteTime -Descending | Select-Object -First 1
$container = "{0}/chrome" -f $defaultRelease.FullName
if (-Not (Test-Path -Path $container)){
  New-Item -ItemType Directory -Path $container
}
$chromeCss = "$container/userChrome.css"
if (-Not (Test-Path -Path $chromeCss)){
  @(
    'menupopup > menuitem, menupopup > menu {padding-block: 0px !important;}'
    ':root {--arrowpanel-menuitem-padding: 0px !important;}'
    '.tab-background[selected="true"] {background-color: #f0f0e0 !important; background-image: none !important;}'
  ) | Out-File -FilePath $chromeCss -Encoding UTF8
}

配列を定義(@())している1つ目の要素の” padding-block “へ指定した画素数でメニューアイテムの上下間隔を、2つ目の” –arrowpanel-menuitem-padding ” へ指定した画素数でメニューアイテムの左右間隔を其々調節できる。

3つ目の要素ではタブの背景色を変えている。上記の設定値だと、選択しているタブだけを淡黄色の背景に変えることが出来る。

設定が済んだら FireFox を再起動する、以上。

カテゴリー
アプリ

Git for Windows と ssh を使ってリポジトリへ接続する方法

Windows 環境下での ssh の設定には Linux のものとは多少異なる操作があります。忘れた時の為にこの記事を残すことにしました。

自分しか使わない前提の GitLab サーバを構築(自己証明書で運用)しましたが、アップデートを重ねていくうちに git pull/push 時に次の警告が出るようになってしまいました。

warning: ----------------- SECURITY WARNING ----------------
warning: | TLS certificate verification has been disabled! |
warning: ---------------------------------------------------
warning: HTTPS connections may not be secure. See https://aka.ms/gcmcore-tlsverify for more information.

これは次のコマンドが実行され、サーバー証明書のチェックを回避する設定が選択されている場合に表示されます。

git config --global http.sslverify true

因みに http.sslverify false が設定されている場合だと、次のエラーが発生して git pull/push 操作自体に失敗します。

fatal: unable to access 'https://接続先/オーナー名/リポジトリ名.git/': SSL certificate problem: self signed certificate

この時、リモート・リポジトリの設定は次のようなものでした。https で始まる点に注目して下さい。

git remote -v
origin https://接続先/オーナー名/リポジトリ名.git (fetch)
origin https://接続先/オーナー名/リポジトリ名.git (push)

Git リポジトリへの接続には ssh を使うやり方も選べるので切り替えることにしました。それにより、目障りな警告メッセージを見なくて済むようになる事を目論んだからです。

まずは ssh-keygen コマンドを使って公開鍵とプライベート鍵のペアを作ります。作り方は簡単にググれるので省きます。鍵のファイル名はそれぞれ id_rsa.pub と id_rsa とします。

公開鍵(id_rsa.pub)の方を GitLab の PreferencesSSH 鍵の画面で登録します。

次に、ユーザのホームディレクトリ下に .ssh というフォルダを作成します。PowerShell を表示させて次のコマンドを入力します。

mkdir ${env:UserProfile}/.ssh

上記のコマンドで作成された ${env:UserProfile}/.ssh というフォルダの下に config というファイルを作成します。中身は次の内容とします。

Host エリアス
    HostName ホスト名.ドメイン名
    User git
    IdentityFile ~/.ssh/id_rsa
    Port ポート番号
    TCPKeepAlive yes
    IdentitiesOnly yes

ssh では通常ポート番号 22 を使いますが、Docker コンテナとして GitLab を運用する場合は、publish スイッチを伴う docker run コマンドを使い、ホスト側の22番との競合を回避させるのが通例です。上記の設定例にあるポート番号は回避させる為に与えた番号を記述します。

config ファイルを作成したら、同じフォルダへ公開鍵とプライベート鍵を保存します。

続いて、所有者以外に書き換えられないようアクセス権を剥奪します。Linux の場合だと chmod 700 を実行する操作に該当します。

icacls $env:UserProfile/.ssh/config /inheritance:r
icacls $env:UserProfile/.ssh/config /grant "${env:UserDomain}\${env:UserName}:F"
icacls $env:UserProfile/.ssh/id_rsa /inheritance:r
icacls $env:UserProfile/.ssh/id_rsa /grant "${env:UserDomain}\${env:UserName}:F"
icacls $env:UserProfile/.ssh/id_rsa.pub /inheritance:r
icacls $env:UserProfile/.ssh/id_rsa.pub /grant "${env:UserDomain}\${env:UserName}:F"

フォルダのアクセス権も同様に剥奪します。

icacls $env:UserProfile/.ssh /inheritance:r
icacls $env:UserProfile/.ssh /grant "${env:UserDomain}\${env:UserName}:F"

ssh を使ってGitLabサーバーへアクセスできるか確認します。’v’ オプションはデバッグ用で、接続障害が発生した時に役立つ診断情報を画面に表示させることが出来ます。

ssh -v エリアス

接続を無事確認することが出来たら、このエリアスを使ってgit の構成を変更します。

git remote set-url origin git@エリアス:オーナー名/リポジトリ名.git

もはや https 接続を使いませんので不要な設定を取り除きます。

git config --global --unset http.sslverify
git config --global --unset http.sslcainfo

あとは、git pull コマンドなどを実行して問題が無いことを確認します。

カテゴリー
アプリ

最新 Firefox へ切り替える方法

Check your F.F. whether or not latest release.

Extract files and deploy.

WKDIR=/tmp
# Finds latest version string and stores into the shell variable.
wget -qO - "https://download.mozilla.org/?product=firefox-latest&os=linux64&lang=ja" | tar jxf - -C $WKDIR
[ -e /opt/firefox/ ] && sudo rm -rf /opt/firefox
sudo mv $WKDIR/firefox /opt/
sudo chown -R root:root /opt/firefox
sudo find $WKDIR -name "firefox-*.tar.bz2" -exec rm {} \;

Should be done at once following them if you installed OS newly.

  • Remove package of the old version.
    sudo yum -y remove firefox
    
  • Allocate a new symbolic link for the new firefox.
    [ -L /usr/bin/firefox ] || sudo ln -s /opt/firefox/firefox /usr/bin/firefox
    
  • New icon is here:
    /opt/firefox/browser/chrome/icons/default/default128.png
    

Create a desktop menu item

  • Create a launcher configuration file.
    sudo vim /usr/share/applications/firefox.desktop
    
  • Put the following entries.
    [Desktop Entry]
    Encoding=UTF-8
    Name=Firefox
    Comment=Firefox
    Exec=/usr/bin/firefox
    Icon=/opt/firefox/browser/chrome/icons/default/default128.png
    Categories=Application;Network;WebBrowser
    Version=4.2
    Type=Application
    Terminal=0
    
  • You can refer to a article “Desktop Menu Specification”.

Trouble shooting

Gtk-Message: Failed to load module “pk-gtk-module”
sudo yum -y install PackageKit-gtk3-module
firefox は現在既定のブラウザに設定されていません。既定のブラウザに設定しますか
  • [メニュー]-[設定]-[お気に入りのアプリケーション]-[ウエブブラウザ]
  • /usr/bin/firefox を入力