投稿

ラベル(Linux)が付いた投稿を表示しています

VirtualBoxゲストOSのカスタム解像度

 VirtualBoxのゲストOSにカスタム解像度を設定したかった。 ゲストOSはUbuntu。 ホストPCにはSurface Laptop 3を使っており、この解像度が2256x1504というあまり見かけない解像度なのだが、ゲストOSをこの解像度いっぱいにフルスクリーンにしたかった。 もちろんこんな解像度はゲストOSの解像度選択一覧にはない。 ゲストOSにGuest Additionsを入れれば解決するのだが、今回は入れたくない。 調べたところ、よく出てくるのが「GUI/LastGuestSizeHint」の設定と「CustomVideoMode1」の設定。 > vboxmanage setextradata "ゲストOS名" GUI/LastGuestSizeHint 2256,1504 > vboxmanage setextradata "ゲストOS名" CustomVideoMode1 "2256x1504x32" この設定をしてみたのだが効果がない。 さらに調べてみると、「VBoxInternal2/EfiGraphicsResolution」の設定を発見した。 > vboxmanage setextradata "ゲストOS名" VBoxInternal2/EfiGraphicsResolution "2256x1504" この設定で効果が出た。 今回、ゲストOSはBIOSではなくEFIの設定にしていたのだが、それが理由なのかもしれない。

Chrome OSのLinuxサポート

Chrome OSにChrostiniという名称でLinuxサポートが追加される。 Debian GNU/Linuxのシェルが使え、WaylandでのGUIもサポートされる。 Chrome OS自体Debianベースで動作しており、そこにChrootでシェルにアクセスできるため、信頼性が高い。 Chroot環境ではあるが、共有ディレクトリがあり、そこにChrome OSからでもアクセスできる。 WindowsでもWSL...

Ubuntu 18.04 リリース

Ubuntu 18.04 がリリースされた。 旧バージョンからのアップグレードはdo-release-updateに-dオプションで行える。 クリーンな16.04からのアップグレードと18.04のクリーンインストールで違いがあったのでそのメモ。 標準IMEがiBusになった プリインストールパッケージが一部snapパッケージになった   $ snap list Name                  Version    Rev   Tracking  Developer  Notes core                  16-2.32.6  4571  stable    canonical  core gnome-3-26-1604       3.26.0     64    stable/…  canonical  - gnome-calculator      3.28.1     167   stable/…  canonical  - gnome-characters      3.28.0     86    stable/…  canonical  - gnome-logs    ...

apt-add-repositoryが使えないときは

apt-add-repositoryが存在しない場合、software-properties-commonをインストールすることで使えるようになる。 # apt install  software-properties-common

aptからhttpsのURLにアクセスするときは

aptからhttpsのURLにアクセスする際、以下のようなエラーが出る場合がある。 # apt update Hit:1 http://archive.ubuntu.com/ubuntu xenial InRelease Hit:2 http://security.ubuntu.com/ubuntu xenial-security InRelease       Hit:3 http://archive.ubuntu.com/ubuntu xenial-updates InRelease         Hit:4 http://archive.ubuntu.com/ubuntu xenial-backports InRelease Reading package lists... Done E: The method driver /usr/lib/apt/methods/https could not be found. N: Is the package apt-transport-https installed? E: Failed to fetch https://dl.winehq.org/wine-builds/ubuntu/dists/xenial/InRelease  E: Some index files failed to download. They have been ignored, or old ones used instead. apt-transport-httpsをインストールすることで解決する # apt install apt-transport-https

Docker上のUbuntuにWineHQをインストール

必要なものをインストール # apt install curl software-properties-common apt-transport-https 32bitサポートを追加 # dpkg --add-architecture i386 GPG鍵を追加 # curl -fsSL https://dl.winehq.org/wine-builds/Release.key | sudo apt-key add - レポジトリを追加 # apt-add-repository https://dl.winehq.org/wine-builds/ubuntu/ アップデートと不足している32bitサポート関連のインストール # apt update --fix-missing # apt upgrade WineHQをインストール # apt install winehq-stable # wine --version wine-3.0

Unityのグローバルメニューを無効化する

Ubuntu 16.04 LTSで採用されているUnityのグローバルメニューを無効にする $ sudo apt-get remove indicator-appmenu $ sudo systemctl reboot 戻すときは $ sudo apt-get install indicator-appmenu

crontabのエディタを変更する

cronの設定を変更する際、"crontab -e"コマンドを実行する。エディタが起動し、設定ファイルを編集することができる。 このとき起動するエディタは、システムのデフォルトのエディタが起動する。 デフォルトのエディタは環境変数$EDITORに設定されおり、これが参照される。 デフォルトのエディタを変更したい場合は$EDITORを書き換える。 一時的にエディタを変更したい場合は、以下のようにする。 $ EDITOR="/usr/bin/vim" crontab -e UbuntuやDebianでは$EDITORが設定されておらず、以下のコマンドで設定する。 $ sudo update-alternatives --config editor このコマンドでは、デフォルトエディタへのシンボリックリンクが/usr/bin/editorに作られる。 $EDITORは更新されないため、以下のように設定する必要がある。 $EDITOR="/usr/bin/editor"

Arch Linuxを定期的にアップデートさせる

Arch Linuxを定期的にアップデートさせたい。 pacmanコマンドに"--noconfirm"オプションを付けることで、確認無しでアップデートしてくれる。 # pacman -Syu --noconfirm さらに、アップデート正常終了後に再起動させる。 # pacman -Syu --noconfirm && systemctl reboot cronにこれをやらせる。 まず、上記のコマンドを実行するシェルスクリプトを作成する。FHSに従うと自作のシェルスクリプトは /usr/local/bin/ っぽいのでそこに作成する。 # vim /usr/local/bin/update_system_and_reboot.sh #!/bin/bash pacman -Syu --noconfirm && systemctl reboot cronに登録する。 # EDITOR=vim crontab -e * 7 * * 0 /usr/local/bin/update_system_and_reboot.sh

iptables 設定メモ

-P INPUT DROP -P FORWARD DROP -P OUTPUT ACCEPT -A INPUT -i br0 -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -i ppp0 -m state --state RELATED,ESTABLISHED -j ACCEPT -A FORWARD -d 192.168.1.0/24 -j ACCEPT -A FORWARD -i br0 -j ACCEPT -A FORWARD -i lo -j ACCEPT -A FORWARD -i ppp0 -m state --state RELATED,ESTABLISHED -j ACCEPT -t nat -A POSTROUTING -s 192.168.1.0/24 -o ppp0 -j MASQUERADE

ちょうどいいLinuxデスクトップ環境がない

以前までLinuxのデスクトップ環境といえばGNOME一択という状況でしたが、GNOME 3で大幅に仕様変更され、ディストリビューションによってデスクトップ環境がばらばらになっています。 ディストリビューションごとのデフォルトのデスクトップ環境を利用すれば悩みなどないのですが、Arch Linuxにはそんなものはありません。 様々なデスクトップ環境を試してみたのですが、しっくりくるものが無かったので記しておきます。 GNOME 3 良い:Waylandに移行している。凄まじく安定している。 悪い:拡張機能入れなきゃほぼ使えない。Systemd環境でしか動作しないため、Linux以外のOSでは動作しない。設定項目が少なすぎる。 Plasma 良い:綺麗、かっこいい。Wayland版が開発中。 悪い: アプリケーション一覧が独自で見づらい。標準のデスクトップマネージャがしょぼい。 LXDE 良い:軽い。 悪い:GTK+2(GTK+3版は開発中)。統一されたテーマがない。LXDE自体の機能がほぼ無いため、GNOMEなどのアプリケーションを利用しなければならない。 LXQt 良い:LXDEのQt版。 悪い:動かない。 Xfce 良い:軽い。 悪い:GTK+2ベース。 Unity Ubuntu標準のデスクトップ環境。開発終了。 悪い:Ubuntu専用。使いづらい。広告だらけ。ほぼGnome。 MATE GNOME 2のフォーク。 悪い:GTK+2。 Cinnamon GNOME 3のフォーク。 悪い:GNOMEを使いたくないからCinnamonを使おうとしているのにGNOMEのアプリケーションを使わなきゃいけない。

GNOME 3でFcitxが動かない

Arch Linuxに久しぶりにGNOME 3をインストールしてみたのですが、Fcitxが正常に動作しませんでした。 その原因はGNOME 3のデフォルトウインドウシステムがXorgからWaylandに移行したためでした。 WaylandにはXWaylandというXorg互換環境があり、FirefoxなどのXorgアプリケーションはそれで動いています。 GNOME 3標準のアプリケーションはほとんどWaylandに移行しているのですが、ほとんどのGUIアプリケーションは未だにXorgで動作している状況です。 FcitxもXWayland上で動作しているため、XorgアプリケーションではFcitxが使えるのですが、WaylandアプリケーションではFcitxが利用できません。 Todo-List Fcitx によると、add wayland supportはIn Progressになっています。 対応策としては、デスクトップセッションをGNOME 3 on Xorgとして起動するか、Fcitxの代わりにIbusを利用するしかないようです。

Ubuntu 16.04で指紋認証ログインしようとした

イメージ
Ubuntuで指紋認証を利用する場合、PPAを追加してFingerPrint GUIを利用するという情報がほとんどです。 ですが、できるだけクリーンな状態を維持したいのであまりPPAは追加したくなく、外部のフロントエンドも利用したくありません。 Arch Linux + Gnome 3の場合にはfprintdをインストールするだけでGnomeと統合してくれましたが、Ubuntuの標準レポジトリにもfprintdがありました。 ぽぬぽぬ: Arch Linuxで指紋認証: 試しにインストールしてみると、設定内の"ユーザアカウント"に「指紋認証ログイン」が追加され、指紋の追加もできました。 これで使えるかと思ったのですがだめでした。

Arch Linux上にSoftEther VPNサーバを簡単に構築

今までxl2tpとOpenSwanでL2TP/IPsec VPNサーバを構築していましたが、SoftEther VPNで簡単に構築することができました。 L2TP/IPsecだけでなく、SSTP、OpenVPNでの接続にも対応しています。 現在の環境は、LAN用NICとhostapdまとめてbr0にブリッジ接続しています。 このbr0にSoftEther VPNサーバをブリッジさせます。 まずSoftEther VPNをインストール $ yaourt -S softethervpn-git SoftEther VPNの起動 $ sudo systemctl start softethervpn-server ここからはWindows等GUIが使えるPCからリモートで設定します。 まずSoftEther VPN Server Managerを公式サイトからダウンロード http://www.softether-download.com/ja.aspx?product=softether 起動し、 新しい接続設定の作成 からホスト名を入力保存。 接続しようとするとSoftEther VPNサーバのパスワードを訊かれるので設定します。 まず仮想HUBを作成します。 "仮想HUBの管理"→"ユーザーの管理"→"新規作成" ユーザー名とパスワードを設定して保存。 IPsec/L2TPの有効化 "IPsec / L2TP 設定"→ "L2TP サーバー昨日を有効にする (L2TP over IPsec)"にチェック ブリッジ設定 今回はVPN通信用のtapデバイスを作成し、これをbr0に追加させます。 "ローカルブリッジ設定"を開き、 "仮想HUB"にさっき作成した仮想HUBを選択。 "新しい tap デバイスとのブリッジ接続"を選択。 "新しい tap デバイス名"に分かりやすいように名前を付ける。今回はvpn0としました。 tapデバイス名で設定した名前は"tap_デバイス名"としてネッ...

Realtek RTL8101ドライバのアンインストール

tar ballからインストールしたRTL8101ドライバのアンインストール手順 r8101をアンロード $ sudo modprobe -r r8101 モジュールファイルの削除 $ cd /lib/modules/$(uname -r)/kernel/drivers/net/ethernet/realtek $ sudo rm r8101.ko r8169が無効化されているので元に戻す $ sudo mv r8169.bak r8169.ko カーネルモジュールの依存関係情報を更新 $ sudo depmod `uname -r` initramfsのアップデート $ sudo update-initramfs -u r8169の読み込み $ sudo modprobe r8169

JavaアプリケーションでUnityのグローバルメニューをデフォルトで有効にする

JavaアプリケーションのUIはJava独自のため、Jayatanaを経由してUnityのグローバルメニューを表示しています。Ubuntu15.04以降、デフォルトでは無効になっているので有効にします。 Javaアプリケーション全体に適用する場合 profileに追記 ユーザ限定で適用するなら $ vim ~/.profile システム全体に適用するなら $ sudo vi /etc/profile export JAVA_TOOL_OPTIONS="$JAVA_TOOL_OPTIONS -javaagent:/usr/share/java/jayatanaag.jar" 指定したアプリケーションのみに有効にする場合 コマンドラインから起動する場合 $ JAVA_TOOL_OPTIONS="$JAVA_TOOL_OPTIONS -javaagent:/usr/share/java/jayatanaag.jar" コマンド GUIから起動する場合など、起動オプションを設定できない場合アプリケーションごとに設定が必要です。 IntelliJ Idea Community $ vi ~/.IdeaIC2016*/idea64.vmoptions -javaagent:/usr/share/java/jayatanaag.jar Android Studio $ vi ~/.AndroidStudio*/studio64.vmoptions -javaagent:/usr/share/java/jayatanaag.jar NetBeans $ vi /usr/local/netbeans-*/etc/netbeans.conf -J-javaagent:/usr/share/java/jayatanaag.jar

Bash on Ubuntu on Windows + XサーバでLXDEを起動

イメージ
Bash on Ubuntu on Windowsでは公式にGUIはサポートされていませんが、X11はC/SシステムなのでWindows側にXサーバを用意することでGUIを表示することができます。 Xサーバのインストール よく使われるのがXmingですが、更新が2007年で止まっているので避けます。 MobaXtermも人気ですが、無料版は機能が限定されていること、Xサーバの機能だけ欲しいのでこれも避けます。 vcXsrvが頻繁に更新されており、x64バイナリもあるのでこれを使用します。 vcXsrvをインストールし、起動しておきます。 Start→VcXsrv→XLaunch Fullscreenを選択します。 Multiple windows はアプリケーションごとに単独のウインドウが開きます。Firefoxなど、単体のアプリケーションを表示させたいときはこれを選択します。 One large window はウインドウ内に画面全体を表示しますが、LXDEだと正常に表示されません。 One window without titlebar はWindowsのタスクバーが表示されるFullscreenで、これもLXDEだと正常に表示されません。 Bash on Ubuntu on Windows側 LXDEのインストール $ sudo apt-get install lxde Xorg、LXDEがインストールされます。 日本語環境では文字化けするので日本語フォントを入れておきます。 $ sudo apt-get install fonts-noto-cjk fonts-noto-hinted 環境変数でXサーバを指定 $ export DISPLAY=localhost:0.0 環境変数は保存されないのでBash on Windowsの起動ごとに入力する必要があります。面倒なら/etc/bash.bashrcに書き込んでおきます。 LXDEを起動 $ lxsession あっさり動きました。仮想マシンで動いているわけではないので非常に高速です。 Firefoxなどの単体のアプリケーションのみ起動したい場合は、vcXsrvをMultiple windowsで起動しなおして、 $ ...

Arch LinuxでAmazon Cloud Driveをマウントする

米AmazonのAmazon Cloud Drive Unlimited(以下ACD)が月500円程度で利用できるので登録してみました。 日本でもACDサービスが開始されましたが、この2倍の料金が発生します。 LinuxからACDにアクセスできる acdcli というツールが公開されています。 このacdcliを利用することでAmazon Cloud DriveをFuseを利用してマウントすることができます。 インストール $ sudo pip3 install --upgrade git+https://github.com/yadayada/acd_cli.git ログインのためにブラウザが必要です。 w3mではログインできなかったのでLynxをインストールしました。 ロケールが日本になっていると日本のACDにアクセスしてしまうので、ロケールを指定して実行します。 $ sudo env LANG=en_US.UTF-8 acdcli -v init ログインしてoauth_dataを保存します。 v -> Shift+s -> /root/.cache/acd_cli/oauth_data ACD状態の取得 ACDの状態を取得します。acdcli以外からACDに変更があった場合、エラーになるので各コマンドを実行する前にはこのコマンドを実行しておくと安心です。 $ sudo acdcli sync マウント $ sudo acdcli mount /mnt/acd/ アンマウント $ acdcli umount /mnt/acd/ マウントすることで簡単に利用できますが、単純にアップロードやファイル操作などを行うこともできます。 aaaディレクトリの作成。 $ sudo acdcli mkdir /aaa/ システムの/mnt/sdb1/ディレクトリをAmazonの/aaa/にアップロード。cronで定期的に実行してあげるとシステムとACDで同期することができます。 $ sudo acdcli upload -o /mnt/sdb1/ /aaa/

UEFI+GPT環境にArch Linuxをインストール

UEFI+GPT環境にArch Linuxをインストールします。 キーボードレイアウトを日本語キーボードに設定 # loadkeys jp106 パーティションの設定 今回はディスク全体にインストールします。64GBのディスク(sdb)にESPを512MB(sdb1)、Swapを2GB(sdb2)、残りをシステムパーティション(sdb3)とします。 # gdisk /dev/sdb GPTディスクではない場合、GPTディスクにします。 Command (? for help): o ESPの作成 Command (? for help): n Permission number: 1 First sector : Last sector : +512M Hex code or GUID : EF00 Swapの作成 Command (? for help): n Permission number: 2 First sector : Last sector : +1G Hex code or GUID : 8200 システムパーティションの作成 Command (? for help): n Permission number: 3 First sector : Last sector : Hex code or GUID : 8300 書き込み Command (? for help): w フォーマット # mkfs.vfat -F32 /dev/sdb1 # mkswap /dev/sda2 # mkfs.ext4 /dev/sda3 マウント # mount /dev/sdb3 /mnt# mkdir /mnt/boot# mount /dev/sdb1 /mnt/boot ミラーリストを編集して、日本のサーバーからダウンロードするようにします。 # vi /etc/pacman.d/mirrorlist 日本のサーバを一番上に持ってきます。 viの場合、 / Japan で日本のURLを検索、 yy でコピー、 p で貼り付け。 インストール # pacstrap -i /mnt >> base fstabの生成 # gen...

PlasmaのBreezeテーマがGTK+3に追いついていない

私は普段からLinuxのデスクトップ環境はPlasma 5を使っています。 Breezeテーマは統一感があり、デザインで言えばOSXよりも綺麗だと思ってます。 BreezeテーマはQT4、QT5、GTK+2、GTK+3用のテーマが公開されているので大体のGUIアプリケーションには対応しています。 GTK+3は今でも頻繁に更新があり、その都度テーマの形式が変わるのでまだ安定しているとは言えません。 GTK+3.20からテーマ形式が大幅に変わったようで、多くのGTK+3テーマが使えなくなりました。 Breezeも未だにGTK+3.20に対応できていません。 FirefoxがGTK+3で開発されていますので非常に困ります。 QTへの移行が進みつつありますが、未だにGTKアプリケーションが多いので安定性を求めるならGnomeが良いですね。