イナズマの日記

こんにちは。

MacでUbuntuを使おう!と思ったけどいろいろ設定が必要で大変だった

はじめに

こんにちは、イナズマです。
最近暑いですね。暑さに頭をやられて普段使っているキーボードを剥がして遊んでいたら、バックスペースキーが壊れてしまいました^^
(完全にキーボードクラッシャー)

f:id:inazuma110:20180728012740p:plain
暑さで頭がやられたイナズマ

LinuxMint19をdynabookで使っていたのですが、仕方がないので手元にある使ってないMacでも使ってやるかと思い立ち早速LinuxMint19をMacに入れてみたのですが、ネットワークドライバ?ぱそこんにわかなのでよくわからないのですがなんかそういうやつがうまく認識されなくてネットに繋げなくて困ってました。USBからブートしてる時は認識してくれるんですけどね。
そんなこんなで一週間くらい悪戦苦闘したのですが、諦めることに。ひとつ前の18.3も試してみましたがうまく行かず。もうLinuxMintを諦めてUbuntuを入れてみることにしました。(俺達の信じたUbuntuを信じろ) まずUbuntu18.04入れたのですが、LinuxMintと同じ症状が出てしまったの16.04入れてみるとうまくいきました。

しかーーーーーーーーーーーーーーーーし!!!!
MacUbuntuを動かすと(おそらくハード的な問題で)dynabookの時といろいろと挙動が違うではありませんか!!!!!!!!!!!!!!

いやほんとに全然挙動が違うんですよ。ここからその挙動治す方法書き連ねていきます。(これ普通にめっちゃだるいのでThinkPad買うことオススメします、マジで)
多分18も大して設定方法は変わりませんが、これはUbuntu16.04の記事です。これは一応忘れないでください。

設定方法

  • スクロールの逆転
    これは設定からやるだけです。マウスとタッチパッドからナチュラルスクロールにチェックを入れましょう。
  • fnキーの逆転
    /etc/rc.localに
echo 2 > /sys/module/hid_apple/parameters/fnmode

追記 18.04の場合は、/etc/modprobe.d/hid_apple.confに

options hid_apple fnmode=2

を書き込むとfnキーを押さなくてもファンクションキーがいい感じに機能してくれます。

  • CMDキーを片方Altキーに割り当てる。
    これはまだ出来てません…だれか簡単にやる方法教えてください;;
  • タッチパッド一部無効化。
    Macタッチパッドが大きすぎるので右側の一部を無効化させたくなりますた。これは僕の好みだと思いますが一応。 まず、
grep range /var/log/Xorg.0.log

タッチパッドの大きさを確認します。次に、

synclient AreaLeftEdge=BEGIN AreaRightEdge=END

のような入力をします。この入力をするとX座標BEGIN〜ENDまでのタッチパッドのみが有効になります。BEGINとENDの値はお好みで調整してください。

  • PC閉じた時のバグ
    これはMacが原因かわかりませんがPCを閉じてサスペンドさせると、再び開いた時Ubuntuが戻ってこなくなります。このバグ?は /etc/modprobe.d/radeon-kms.conf(なければ作成する)というファイルに
options radeon modeset=0

と書き込めば治るはずです。

追記 またおかしくなりました…。サスペンドから復帰しない場合は諦めて再起動するしかないというのが現状です… 解決方法わかる人いましたら教えてください。

追記 おかしくなったのでUbuntu18.04入れ直しました。基本的にはここに書いてあることまま行えば不具合は治ります。 以下はすべてUbuntu18.04のみで試したことです。

  • Alt+tabでのアプリケーションを同じワークスペース限定にする。 ターミナルにて
gsettings set org.gnome.shell.app-switcher current-workspace-only true

最後に

ブログ書くの普通にめんどくさいですね… でもこれ忘れたらもっとめんどくさいことになるので嫌でも書いといたほうがいいかなと思い書きました。よかったら参考にしてみてください。

Linux Mintセットアップメモ

個人用のメモです。OSをとっかえひっかえするのに少しハマっているのでやるべき設定を書いておきます。

設定

スタートボタンを押してシステム設定より行います。

  • スクリーンセーバーの設定
  • デスクトップの設定からアイコンがデスクトップに表示されないようにする
  • ワークスペースの循環
  • サウンドでいらない効果音を消す
  • 電源管理でほっといても電源が切れないように
  • ソフトウェアソースからメインとベースのサーバを設定
  • デスクレットから時計を表示

ターミナルから叩く

ここはdotfilesのinstall.shに書いておいたほうがよさげ

LANG=C xdg-user-dirs-gtk-update
  • Atomを入れる(バックアップ)
  • ターミナルの文字サイズ設定
  • 全角スペースをなくす
sudo apt-get install mozc-utils-gui

でMozcをGUIで開けるようになる。

  • cpull
sudo npm install -g https://github.com/ctare/minit

追記 bashrcに全部書いたのでここは省きます……

その他

  • 右下のカレンダーを右クリックし、書式を「%m/%d %H:%M」に変更

整数型変数の中身の交換

多分競プロerでは常識なんだろうけど。 でも自分は初めてしったのでメモしておきます。

例えば

int a = 15;
int b = 32;

みたいな変数があって変数の中身を交換したいと。つまりaを32、bを15にするということです。
このようなとき、自分は今までこのような処理を行っていました。

int a = 15;
int b = 32;
int tmp = a;
a = b;
b = tmp;

しかしXORを用いるとこのような処理によっても同じ操作ができます。

int a = 15;
int b = 32;
a ^= b;
b ^= a;
a ^= b;

これでゴミ変数を作らなくて済みます。

が、可読性の観点からゴミ変数作ったほうがいい気がします……。しかも実行速度も早くなるわけではなさそうです………。 結局は個人の好みでしょうか。

GW日記(後編)

前編は消えました。(見返したらメンヘラ度がとても高かった)

5日目

rails書いてた気がする。 gitで初めてブランチとか使ってるんだけど、命名規則とかどんくらい細かく作るとか、どういうタイミングでマージするかとかわからんくてGoogle先生聞きながら適当こいてるんだけど、人によって結構ちがうみたいでつらい。

6日目

プログラミング始めたい友人(Macは嫌いらしい)のPCをWindowsとMintでデュアルブートにした。(UbuntuとMintをオススメしたらMintのほうがいいということだったので)頑張ってほしい。
ただ、Atomのインストールがうまくいかなかった。一応起動はするけどsudoつけないとうまくいかないんですよね。

7日目

つら。 エラーが消えない。

8日目

半日くらいエラーで頭を抱えてた。 夜はAtCoder Beginner Contest出たんですけど、C問までしかできなかったしレートは3しか上がらなかった。つらい。

9日目

ボ!!

ラ!!

先輩達と行きました。楽しかったのでまた行きたいですね、ボルダリング

GW、最後はばちこり遊べて楽しかったし、なんだかんだいい1週間でした。