LinuxMint18.3でHiDPI対応について

現在のパソコンは解像度が1920×1080で少し画面内のコンテンツが小さく感じる。WindowsやMacOSなら調整も簡単なのだが、Cinnamonさんは今の所200%からしか設定できないので、ちょっと無理やり対応してみる。

フォントサイズの調整

設定からフォントサイズを調整する。今回は1.3倍にした。

パネルのサイズ調整

右クリックして「パネルの設定」から「特別なパネルサイズを利用」で調節する。

ログイン画面の調整

設定の「ログイン画面」からHiDPIサポートをEnableに変更する。

QT5のアプリケーションについて

「VirtualBox」や「DB Browser for SQLite」などのQTアプリケーションは、フォントサイズが拡大されない。下記のプラグインをインストール。

sudo apt install qt5-style-plugins

/etc/environmentに下記を追記するとフォントサイズがいい感じになる。

QT_STYLE_OVERRIDE=adwaita

Ubuntu17.10のHiDPI対応について

今回のパソコンは解像度が1920×1080で少し画面内のコンテンツが小さく感じる。WindowsやMacOSなら調整も簡単なのだが、GNOME+Xorgは200%からしか設定できないので、ちょっと無理やり対応してみる。

フォントサイズの調整

まず GNOME Tweaks でフォントサイズを調整する。今回は1.1倍にした。

ログイン画面の調整

あと、ログイン画面もなんか小さく感じるので、ログイン画面のユニバーサルアクセスメニューから「大きな文字」を有効にする。

スプラッシュ・スクリーンの拡大

SplashScreenの拡大は1.5倍にしたいので、下記ファイルをubuntu-logo-scale-1.5.scriptとして同じ場所にコピーする。
/usr/share/plymouth/themes/ubuntu-logo/ubuntu-logo-scale-2.script

コピーしたら下記箇所を編集して保存する。

# Scale factor
scalefactor = 1.5;

更に下記の通りファイルを編集する。

[script]
ScriptFile=/usr/share/plymouth/themes/ubuntu-logo/ubuntu-logo-scale-1.5.script

CentOS7でdhcpとbindを連携させ家庭内DDNS

インストール

今回はDNSサーバーもDHCPサーバーも1台で兼任させる。
まずインストールする。
※Version bind9.9.4 dhcp4.2.5

# yum install dhcp bind

DNSサーバーの設定

bindから設定する。
下記の箇所の内容を変更または追記する。

options {
    // zoneファイルの保存場所
    directory "/var/named/";
    // LAN内からの問い合わせを許可
    allow-query {
        localhost;
        192.168.1.0/24;
    };
    // 自分で名前解決できないときの丸投げ先
    forwarders {
        192.168.1.254;
        8.8.8.8;
    };
};

zone "example.jp." {
    type master;
    file "example.jp.zone";
    // 自身からの変更を許可しておく
    allow-update {
        localhost;
    };
};

さっき指定したzoneファイルを作成する。
※admin.example.jp.の部分はadmin@example.jpという管理者のE-mailという意味

$TTL 86400
@    IN    SOA    dns.example.jp.    admin.example.jp. (
           2018042619
           10800
           36400
           604800
           86400
)

       IN    NS   dns.example.jp.
dns    IN    A    192.168.1.11

作成したらファイルの所有グループをnamedに変更して書き込み権限を設定する。
※namedに読み書きの権限を持たせるのが目的

# chgrp named /var/named/example.jp.zone
# chmod g+w /var/named/example.jp.zone

ついでに/var/named/の所有グループもnamedに変更して書き込み権限を設定する。
※namedに書き込みの権限を持たせるのが目的

# chgrp named /var/named/
# chmod g+w /var/named/

DHCPサーバーの設定

設定ファイルを下記のように編集する。

# DNSサーバーに更新要求を送信する設定
ddns-update-style interim;
# 普通のDHCPの設定
subnet 192.168.1.0 netmask 255.255.255.0 {
    range 192.168.1.101 192.168.1.120;
    option routers 192.168.1.254;
    option domain-name "example.jp";
    option domain-name-servers 192.168.1.11;
    # 更新を通知するDNSサーバーを指定
    zone example.jp. {
        primary localhost;
    }
}

その他の必要な設定

SELinuxとFirewallに例外を追加する。

# setsebool -P named_write_master_zones true
# firewall-cmd --add-service=dns --permanent
# firewall-cmd --add-service=dhcp --permanent
# firewall-cmd --reload

サービスを有効にして起動。

# systemctl enable named
# systemctl start named
# systemctl enable dhcpd
# systemctl start dhcpd

補足

nsupdate

nsupdateを使用してDNSサーバーを更新をテストするには bind-utils をインストールし、nsupdateコマンドを実行する。実行したら対話型コンソールになるので下記のような感じで入力する。何もエラーが出なければOK。

>server 127.0.0.1
>update add test.example.jp. 3600 A 192.168.1.222
>send
>server 127.0.0.1
>update delete test.example.jp.
>send
rndc

rndcでdumpして現在のDNSレコードを確認する。

# rndc dumpdb -zones
# cat /var/named/data/cache_dump.db | grep dns.example.jp.

CentOS7にVirtualBoxのリポジトリを追加する

公開鍵のインストール。

$ wget http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc
# rpm --import oracle_vbox.asc

リポジトリを追加する。

$ wget http://download.virtualbox.org/virtualbox/rpm/el/virtualbox.repo
# mv virtualbox.repo /etc/yum.repos.d/virtualbox.repo

DockerでPHP7+Apacheを動かしてみた

イメージの取得。

# docker image pull php:7.4-apache

コンテナを生成して実行。ここでホストのディレクトリをゲストのwwwにマウントする-vオプションを付ける。

# docker container run -d --name test_php7 -v /home/user/apache_test:/var/www/html -p 80:80 -p 443:443 php:7.4-apache

もうこれだけで127.0.0.1にアクセスすれば動くのだが、このときは.htaccessによる設定変更が必要だったので下記も実行する。

# docker container exec -i -t test_php7 /bin/bash
# a2enmod rewrite

まだゲストのコンソールだと思うので、そのまま更にMySQL拡張もインストール。

# docker-php-ext-install pdo pdo_mysql

intl拡張も使うのでインストール。

# apt update
# apt install libicu-dev
# docker-php-ext-install intl

zip拡張も使うのでインストール。

# apt install libzip-dev
# docker-php-ext-install zip

gd拡張も使うのでインストール。
※この拡張を使うにはzip拡張が必要

# apt install libpng-dev libjpeg-dev libfreetype6-dev
# docker-php-ext-install gd

あとはコンテナを再起動して完了。

Chromiumで拡張機能を直接起動するショートカットを作成する方法

いや、これの情報が色々探したけど全く無くて困った。情報共有。というのも、Chrome拡張機能のLINEを使おうと思ったんだけど、ショートカットが作れなくて都度ブラウザ開いてからLINE起動するのが面倒だった。下記手順でいけると思う。

ショートカットを作成したい拡張機能画面を開いたまま、別のタブで下記を開くと、その画面のURLが分かる。
chrome://accessibility/

あとはそのURLを開くショートカットをお好きなように作ればいいです。

Ubuntu16.04でDockerのPostgreSQLをなんとなく動かしてみた

Dockerさわってみた感想

なんとなくのイメージは「imageの取得」→「imageからcontainerの生成」→「containerの開始」←→「containerの停止」が主かな。現在動いているcontainerをimageにしてtarとして保存したり、逆に読み込んでcontainerを作ったりできる。

“docker.io” をインストール。最初に “docker” をインストールしてdockerコマンド実行したらdockerはインストールされていませんて言われた。関係ないソフトらしい。

$ sudo apt-get install docker.io

PostgreSQL9.5のimageの取得。最新が良い場合は “postgres:9.5” の箇所を “postgres” とする。

$ sudo docker image pull postgres:9.5

取得済みのimageを確認する。

$ sudo docker image list

取得済みのimageを削除する。

$ sudo docker image rm postgres:9.5

取得済みのimageからcontainerを生成して実行する。
-dはデーモンとして起動、-eは環境変数を設定、-pはポート転送(ホストの待ち受けポート:コンテナのポート)

$ sudo docker container run -d --name test_postgres -e POSTGRES_PASSWORD=password -p 5432:5432 postgres:9.5

containerのプログラムを実行する。
-itは標準出力をホストと連結する指定。

$ sudo docker container exec -i -t test_postgres /bin/bash

containerの停止。

$ sudo docker container stop test_postgres

containerの再開。

$ sudo docker container start test_postgres

containerの削除。

$ sudo docker container rm test_postgres

実行中のcontainerを確認する。実行中ではないものも表示する場合は-aオプションを使う。

$ sudo docker container list

使用されていないvolumeを一括削除する。

$ sudo docker volume prune

containerで使用しているvolumeなどを調べる。データベースの内容をバックアップしたい場合はvolumeの情報をバックアップする必要がる。

$ sudo docker container inspect test_postgres

Windows10でシンボリックリンクを作成する

ショートカットとは扱いが少し違うようだ。たぶんWin7でも使える。

# 管理者としてコマンドプロンプトを起動
# ドキュメントのtextfile.txtのシンボリックリンクをデスクトップに作成する
mklink C:\Users\user\Desktop\textfile_link.txt C:\Users\user\Documents\textfile.txt
# Dドライブのworkディレクトリに対するリンクをデスクトップに作成する
mklink /D C:\Users\user\Desktop\work D:\work