20190828のMacに関する記事は8件です。

MAC OS Xのスリープ方式(ハイバネーション)を変更する方法(要点のみ)

macOS High Sierraにアップデートしたらスリープから復帰しなくなることがたまに起きるので

うちのMacBook Pro(Mid 2015)のOSをmacOS High Sierraにしてからか?スリープから復帰が遅くなった気がしてて、TouchPadは行きてるんだけど「遅いなー」と思うことが多かった気がします。

まさにこれを感じて居たので、設定を変更しました。
僕のPCは、MacbookAir(Mid2018)です。
(本記事は、参考サイトの要点を抜粋したものでほぼ引用です)

TL;DR

今回試してみたのはhibernatemodeの変更です。

対象読者

ディスクメンテを検討している方や、
最近なんだか、スリープ復帰が遅いと感じている方

スリープの種類

MAC OS Xのスリープ方式(ハイバネーション)を変更する方法

OS Xのスリープモードは3種類ある。

スリープ (0)
所要時間:スリープ、復帰共に1〜3秒程度
スリープ移行時:メモリ内容をHDDに待避せず、メモリの内容はバッテリーが続く限りメモリで保持
復帰時:メモリから復帰のため高速、バッテリーが無くなった場合は忘れてしまうため通常のOS起動となる

セーフスリープ (3)
所要時間:スリープ移行まで、3〜10秒程度、復帰は1〜3秒程度
スリープ移行時:メモリの内容をHDDに退避して、メモリの内容はバッテリーが続く限り保持
復帰時:メモリから復帰のため高速、バッテリーが無くなった場合はHDDの内容を読み込む

ディープスリープ (25)
所要時間:スリープ移行、復帰共に5〜10秒程度
スリープ移行時:メモリの内容をHDDに退避し、メモリの内容を忘れてスリープ
復帰時:HDDの内容を読み込み復帰のため低速

MBA,MBPの標準設定は
スリープ(0)とディープスリープ(25)のいいとこどりの
ハイブリッドモードな「セーフスリープ(3)」です。
そのため、画面を閉じたあとすぐに画面を開くと、なかなか画面が表示されません。これはメモリ内容をHDD(SSD)に書き込んでいるため。

スリープモードの変更方法・確認方法

(ここからの操作をする場合、自己責任でお願いします)

sudo pmset -a hibernatemode X

Xの引数部分には設定したいスリープモードの値を入力。
今回高速起動にしたい場合は「0」。
デフォルトに戻したい場合は「3」です。

ターミナルで現在のスリープモードを確認するには…

pmset -g

確認してみた。

$ pmset -g
System-wide power settings:
Currently in use:
 standbydelaylow      10800
 standby              1
 halfdim              1
 hibernatefile        /var/vm/sleepimage
 proximitywake        0
 powernap             0
 gpuswitch            2
 disksleep            10
 standbydelayhigh     86400
 sleep                1 (sleep prevented by sharingd)
 hibernatemode        3
 ttyskeepawake        1
 displaysleep         2
 tcpkeepalive         1
 highstandbythreshold 50
 acwake               0
 lidwake              1

MacBook Air はスリープ状態でも30日間持つよ!
という売り文句がその昔あった関係で、
ある時間以上スリープが続くとHDD(SSD)からの復帰に移るような設定(省電力モード、もう御察しの通りデフォルト3のね)になっているのかも。

その他参考

まとめ

MacOSのスリープモード(ハイバーネートモードの設定値)-
通常スリープ [hibernatemode 0]
スタンバイ状態でメモリデータの退避は行わない。
すぐ復帰出来る反面、バッテリ枯渇時には作業状態が全て消去される。

ディープスリープ [hibernatemode 1]
休止状態でメモリデータの退避を行う。
復帰に時間が掛かる反面、バッテリが枯渇しても作業状態は保持されている。

セーフスリープ [hibernatemode 3]
バッテリ容量が十分あるうちはスタンバイ状態、
バッテリの消耗が進むとディープスリープへ移行。
バッテリが十分にあるうちはすぐに復帰出来るし、
万一の場合にも作業状態を失わない。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Macのショートカット覚えてる?

この記事について

 先日今使っているMacを購入したのですが、キーボードのキーの位置が違くて困っていました。
今まで生きてきてWindowsしか触ったことがなかったので打ちたい、出したいものがすぐに出せなかったのでここに備忘録かけて残しておきます。
(ショートカット見つかり次第アップデートします)

入力補助

ひらがな変換する

^control ➕ j
(WindowsだとF6)

全角カタカナ変換する

^control ➕ k
(WindowsだとF7)

半角英数変換する

^control ➕ :
(WindowsだとF8)

全角英数変換する

^control ➕ l
(WindowsだとF9)

文字入力の確定をする

^control ➕ m
(WindowsだとF9)

終わりに

ここはキー1つで変換できるWindowsの勝ち。
また更新します。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

【Mac】各種ハッシュ関数を使う方法 - sha256, md5, ... -

MacでHash値を計算する方法

md5
$ md5 ファイル名
or
$ openssl dgst -md5 ファイル名
sha256
$ shasum -a 256 ファイル名
or
$ openssl dgst -sha256 ファイル名

困ったら -hオプションつけて何が使えるか見る。

Happy Hacking :sunglasses: !

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

MacでFinderのアイコンプレビューが表示されないときの対処法

軽く調べた結果がどれも動かなかったときの対処法です。


qlmanage -t でプレビューが表示されない画像を開いてみます。

$ qlmanage -t ~/Desktop/適当な画像.png

すると何やら Google Drive File Stream 関連のエラーが表示されます。Google Drive File Stream.app を削除すると、無事プレビューが表示されるようになりました。以下の回答に感謝。

https://apple.stackexchange.com/questions/338215/mojave-quicklook-stuck-at-loading#answer-338528

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

初心者がMacのローカル環境にMySQL 8.0をインストールしてSequel PROで接続するまでの注意点。

はじめに

会社でMySQLを使用する業務を行うことになりました。
ProgateのSQLコースを修了しただけの低レベルの僕に合わせて、
上司がMySQLの基礎を固めるための簡単なトレーニングメニューを組んで下さいました。
簡単そうだからすぐに終わらせようと思っていたのに、最初の段階でちょっと躓いて、一週間以上かかってしまいました。
今後同じ道を辿る初心者を生み出さないために、注意点をまとめました。

Google先生が教えてくれる既存の資料は、Homebrewを使用する方法だとか、
MySQL5.6 や 5.7 のやり方のものがほとんどです。
この記事は、きちんと現時点での最新版 MySQL8.0 でのやり方を記録しています。

記事のターゲット

下記のようなキーワードでGoogle検索している方に、ぜひこの記事を見つけてほしいです。

「MySQL 接続できない」
the server quit without updating pid file
No such file or directory
Access denided for user
server command not found
Authentication plugin 'caching_sha2_password' cannot be loaded

今回の目的

上司から頂いたトレーニングメニューは以下です。

参考資料:MySQL5.6リファレンスマニュアル(日本語版) をもとに、
1. ローカル環境もしくは仮想環境を用意してMySQLをインストールする。
2. 起動したMySQLへクライアントツール(なんでもよし)で接続する。
3. リファレンスマニュアル実施(3.3 データベースの作成と使用 )
4. リファレンスマニュアル実施(3.6 一般的なクエリーの例 )

上記ミッションのうち、 1~2 を遂行する際に少し躓いたため、これを遂行する際の注意点をここにまとめています。

※ MySQLはローカル環境にインストールします。
※ MySQLは最新版の8.0をインストールします。
※ MySQL8.0の資料は英語表記のため、唯一日本語資料が用意されているMySQL5.6のマニュアルを参考に進めております。

結論

申し訳有りません。
Sequel PROでログインできた段階で、舞い上がってこんな記事を作成してしまいましたが、
Sequel PRO上で操作しようとすると必ずエラーがでて進まなくなってしまいました。
そこで再度調べた所、認証方式がどうこうではなく、そもそもSequel PROはMySQL8.0に非対応とのことで、どうあがこうと無理という結論に達しました。

僕がこの結論にたどり着くまでの苦労の軌跡を残すため、この記事は削除せずに置いておくことにします。
どうか、おなじく無駄な時間を過ごす初心者が1人でも減ってくれますように…。

おわり。

【要点】 クライアントツールの選定

さて、今回の重要ポイントを先に説明させていただきます。
今回、クライアントツールはなんでもよいというミッションだったので、評判の良いSequel PROを選択しているのですが、ここが最大のワナなのでした。
なんとSequelPROは、MySQLが採用している最新のログイン認証方式(caching_sha2_password)に非対応だったのです。
以下の記録は、そのことを頭に入れてから読み進めてください。

ローカル環境にMySQLをインストールする。

注意点:
接続に躓いてGoogle検索してみると、Homebrewを使用するインストール方法が沢山ヒットしますが、それは大抵の場合 MySQL5.6 や 5.7 向けの方法かと思われます。
この記事では、公式サイトからダウンロードできる MySQL8.0 用のディスクイメージ(.dmgファイル)を使用してインストールします。

  1. MySQL公式ページの DOWNLOADSメニュー > Communityタブ > MySQL Community Server(GPL) から、DMG Archive をダウンロードして、実行する。

  2. インストーラでUse Strong Password EncryptionUse Legacy Password Encryptionを選ぶ画面になったらUse Legacy Password Encryptionを選択する。
    mac-installer-configuration-password-type.png

  3. あとは通常通りインストールを完了させる。
    (Google検索してみると、このあとTerminalでmysql.server startをさせるような記事が多い。
    しかし、今回の方法でインストールしている場合、システム環境設定からサーバーの起動が可能。
    さらに、基本は自動でサーバーを起動してくれているため、上記の操作は不要である。)

  4. Terminalでmysql -vと入力してみた際、コマンドがmysql: command not foundとなる時は、ターミナルで下記を実行。

echo 'export PATH=/usr/local/mysql/bin:$PATH' >> ~/.bash_profile

試しにTerminalでmysql -u root -pと入力して、パスワードを入力すると、問題なくMySQLが実行できると思われる。
(MySQL8.0以前はrootユーザのパスワードを設定するかどうかは任意だったようだけど、今回の方法でインストールしている場合、パスワード設定は必須なので、-pというオプションを使用しないでログインすることは不可能です。)

以上。

既に失敗してしまった方へ。

上記のような手順を踏まず、既にドツボにハマってしまった方。
まだやり直せる状況であれば、MySQLのクリーンインストールを行う事が一番安全だと思います。

Google検索すると、MySQLのアンインストールをする際に、Terminalから関連ファイルの削除を行う情報が多くヒットします。
しかし、今回の方法でインストールしている場合、システム環境設定から完全にアンインストールを行うことが可能です。Terminalを使用してアンインストールをする必要は恐らくありません。
(間違っていたらコメントください。)
システム環境設定からアンインストールをする際に、Also uninstall this preference pane, and launchd support files.にチェックをして下さい。

既にMySQLを運用してしまっている等で、クリーンインストールをすることが出来ない場合、ユーザごとに認証方式を変更する方法もあるようです。
参考:MySQL8.0 認証方式を変更する(Laravel5)
僕はこれを行った際、rootユーザの認証方式を変更してしまい、再度MySQLに接続できなくなる事象が発生しているので、
認証方式を変更する場合は、rootユーザではなく、新規作成されたユーザの設定を変更したほうが安全だと思います。

おわり。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

初心者がMacのローカル環境にMySQL 8.0をインストールしてSequel PROで接続したかった奮闘記。

はじめに

会社でMySQLを使用する業務を行うことになりました。
ProgateのSQLコースを修了しただけの低レベルの僕に合わせて、
上司がMySQLの基礎を固めるための簡単なトレーニングメニューを組んで下さいました。
簡単そうだからすぐに終わらせようと思っていたのに、最初の段階でちょっと躓いて、一週間以上かかってしまいました。
今後同じ道を辿る初心者を生み出さないために、注意点をまとめました。

Google先生が教えてくれる既存の資料は、Homebrewを使用する方法だとか、
MySQL5.6 や 5.7 のやり方のものがほとんどです。
この記事では、現時点での最新版 MySQL8.0 でのやり方を記録しています。

記事のターゲット

下記のようなキーワードでGoogle検索している方に、ぜひこの記事を見つけてほしいです。

「MySQL 接続できない」
the server quit without updating pid file
No such file or directory
Access denided for user
server command not found
Authentication plugin 'caching_sha2_password' cannot be loaded

今回の目的

上司から頂いたトレーニングメニューは以下です。

参考資料:MySQL5.6リファレンスマニュアル(日本語版) をもとに、
1. ローカル環境もしくは仮想環境を用意してMySQLをインストールする。
2. 起動したMySQLへクライアントツール(なんでもよし)で接続する。
3. リファレンスマニュアル実施(3.3 データベースの作成と使用 )
4. リファレンスマニュアル実施(3.6 一般的なクエリーの例 )

上記ミッションのうち、 1~2 を遂行する際に少し躓いたため、これを遂行する際の注意点をここにまとめています。

※ MySQLはローカル環境にインストールします。
※ MySQLは最新版の8.0をインストールします。
※ MySQL8.0の資料は英語表記のため、唯一日本語資料が用意されているMySQL5.6のマニュアルを参考に進めております。

結論

申し訳有りません。
Sequel PROで接続できた段階で、舞い上がってこんな記事を作成してしまいましたが、
Sequel PRO上で操作しようとすると必ずエラーがでて進まなくなってしまいました。
そこで再度調べた所、認証方式がどうこうではなく、そもそもSequel PROはMySQL8.0に非対応とのことで、どうあがこうと無理という結論に達しました。

僕がこの結論にたどり着くまでの苦労の軌跡を残すため、この記事は削除せずに置いておくことにします。
どうか、おなじく無駄な時間を過ごす初心者が1人でも減ってくれますように…。

おわり。

【要点】 クライアントツールの選定

さて、今回の重要ポイントを先に説明させていただきます。
今回、クライアントツールはなんでもよいというミッションだったので、評判の良いSequel PROを選択しているのですが、ここが最大のワナなのでした。
なんとSequelPROは、MySQLが採用している最新のログイン認証方式(caching_sha2_password)に非対応だったのです。
以下の記録は、そのことを頭に入れてから読み進めてください。

ローカル環境にMySQLをインストールする。

注意点:
接続に躓いてGoogle検索してみると、Homebrewを使用するインストール方法が沢山ヒットしますが、それは大抵の場合 MySQL5.6 や 5.7 向けの方法かと思われます。
この記事では、公式サイトからダウンロードできる MySQL8.0 用のディスクイメージ(.dmgファイル)を使用してインストールします。

  1. MySQL公式ページの DOWNLOADSメニュー > Communityタブ > MySQL Community Server(GPL) から、DMG Archive をダウンロードして、実行する。

  2. インストーラでUse Strong Password EncryptionUse Legacy Password Encryptionを選ぶ画面になったらUse Legacy Password Encryptionを選択する。
    mac-installer-configuration-password-type.png

  3. あとは通常通りインストールを完了させる。
    (Google検索してみると、このあとTerminalでmysql.server startをさせるような記事が多い。
    しかし、今回の方法でインストールしている場合、システム環境設定からサーバーの起動が可能。
    さらに、基本は自動でサーバーを起動してくれているため、上記の操作は不要である。)

  4. Terminalでmysql -vと入力してみた際、コマンドがmysql: command not foundとなる時は、ターミナルで下記を実行。

echo 'export PATH=/usr/local/mysql/bin:$PATH' >> ~/.bash_profile

試しにTerminalでmysql -u root -pと入力して、パスワードを入力すると、問題なくMySQLが実行できると思われる。
(MySQL8.0以前はrootユーザのパスワードを設定するかどうかは任意だったようだけど、今回の方法でインストールしている場合、パスワード設定は必須なので、-pというオプションを使用しないでログインすることは不可能です。)

以上。

既に失敗してしまった方へ。

上記のような手順を踏まず、既にドツボにハマってしまった方。
まだやり直せる状況であれば、MySQLのクリーンインストールを行う事が一番安全だと思います。

Google検索すると、MySQLのアンインストールをする際に、Terminalから関連ファイルの削除を行う情報が多くヒットします。
しかし、今回の方法でインストールしている場合、システム環境設定から完全にアンインストールを行うことが可能です。Terminalを使用してアンインストールをする必要は恐らくありません。
(間違っていたらコメントください。)
システム環境設定からアンインストールをする際に、Also uninstall this preference pane, and launchd support files.にチェックをして下さい。

既にMySQLを運用してしまっている等で、クリーンインストールをすることが出来ない場合、ユーザごとに認証方式を変更する方法もあるようです。
参考:MySQL8.0 認証方式を変更する(Laravel5)
僕はこれを行った際、rootユーザの認証方式を変更してしまい、再度MySQLに接続できなくなる事象が発生しているので、
認証方式を変更する場合は、rootユーザではなく、新規作成されたユーザの設定を変更したほうが安全だと思います。

おわり。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Macアプリ初心者:NSTableView でカスタムした一覧を作ってみる

今回は前回作成したプロジェクトを元にしてカスタム Cell を作成して見た目を変えていきます。
株価一覧を表示するイメージのサンプルアプリを作ってみます。

完成イメージ

こんな感じのシンプルなものです。
スクリーンショット 2019-08-28 9.22.05.png

環境

  • macOS Mojave:10.14.6
  • Xcode:10.3

カスタムセルの作成

今回は StoryBoard を利用してカスタムセルを作成しました。
個人的には大きいプロジェクトでは XIB を利用して個々のパーツに分解して作った方がメンテしやすいと思います。

カスタムセルのイメージ

株価のステータス表示用の ImageView が左側に配置されていて、右側に企業名と株価を表示する TextField を配置するシンプルな構成です。
スクリーンショット 2019-08-28 9.35.15.png

StoryBoard でアイテムを配置

スクリーンショット 2019-08-28 9.38.37.png

TableView の見え方を変更

表示するだけのViewのため、Clickした時に選択できないようにし(Highlight:None)、見やすいように縞模様表記にし(Alternating Rows:チェック)、水平のグリッド線を表示(Horizontal Grid:Solid)します。
ファイル名

カスタムセルクラスを作成

それぞれのアイテムを持っているだけの単純なクラスです。

CustomNSTableCellView.swift
import Cocoa

class CustomNSTableCellView: NSTableCellView {

    @IBOutlet weak var stockImage: NSImageView!
    @IBOutlet weak var companyName: NSTextField!
    @IBOutlet weak var stockPrice: NSTextField!

}

StoryBoard とカスタムセルクラスを紐づける

Kobito.SX5sr9.png

ソースコード:カスタムセルクラスの利用

下準備としてセルの高さと表示するアイテムデータを作成

ViewController.swift
    @IBOutlet weak var tableView: NSTableView! {
        didSet {
            self.tableView.dataSource = self
            self.tableView.delegate = self

            self.tableView.rowHeight = 88
        }
    }

    // MARK: - private variables
    private var values = [
        ["name" : "○○株式会社", "price": 1000, "status": "up"]
        ,["name" : "○×水産", "price": 12345, "status": "down"]
        ,["name" : "株式会社□○", "price": 345, "status": "flat"]
        ,["name" : "×△ホールディングス", "price": 321, "status": "up"]
        ,["name" : "ABC BANK", "price": 20, "status": "down"]
        ,["name" : "▼○重工", "price": 98000, "status": "up"]
    ]

状態によってテキストやイメージ画像を差し替える

CustomNSTableCellView.swift
    func tableView(_ tableView: NSTableView, viewFor tableColumn: NSTableColumn?, row: Int) -> NSView? {
        let result = tableView.makeView(withIdentifier: NSUserInterfaceItemIdentifier(rawValue: "MyView"), owner: self) as? CustomNSTableCellView

        // Set the stringValue of the cell's text field to the nameArray value at row
        switch self.values[row]["status"] as! String {
        case "up":
            result?.stockImage.image = NSImage(named: NSImage.Name("up"))
            result?.stockImage.contentTintColor = NSColor.red
            result?.companyName.textColor = NSColor.red
        case "down":
            result?.stockImage.image = NSImage(named: NSImage.Name("down"))
            result?.stockImage.contentTintColor = NSColor.green
            result?.companyName.textColor = NSColor.green
        case "flat":
            result?.stockImage.image = NSImage(named: NSImage.Name("flat"))
            result?.stockImage.contentTintColor = NSColor.gray
            result?.companyName.textColor = NSColor.gray
        default:
            break
        }
        result?.companyName.stringValue = self.values[row]["name"] as! String
        let formatter = NumberFormatter()
        formatter.numberStyle = .decimal
        let commaString = formatter.string(from: self.values[row]["price"] as! NSNumber)
        result?.stockPrice.stringValue = commaString ?? "-"

        // Return the result
        return result
    }

全ソースコード(ViewController)
ViewController.swift
import Cocoa

class ViewController: NSViewController {

    // MARK: - IBOutlet
    @IBOutlet weak var tableView: NSTableView! {
        didSet {
            self.tableView.dataSource = self
            self.tableView.delegate = self

            self.tableView.rowHeight = 88
        }
    }

    // MARK: - private variables
    private var values = [
        ["name" : "○○株式会社", "price": 1000, "status": "up"]
        ,["name" : "○×水産", "price": 12345, "status": "down"]
        ,["name" : "株式会社□○", "price": 345, "status": "flat"]
        ,["name" : "×△ホールディングス", "price": 321, "status": "up"]
        ,["name" : "ABC BANK", "price": 20, "status": "down"]
        ,["name" : "▼○重工", "price": 98000, "status": "up"]
    ]


    // MARK: - override func
    override func viewDidLoad() {
        super.viewDidLoad()

        // Do any additional setup after loading the view.
    }

    override var representedObject: Any? {
        didSet {
        // Update the view, if already loaded.
        }
    }
}

extension ViewController: NSTableViewDataSource, NSTableViewDelegate {

    // MARK: - NSTableViewDataSource
    func numberOfRows(in tableView: NSTableView) -> Int {
        return self.values.count
    }

    // MARK: - NSTableViewDelegate
    func tableView(_ tableView: NSTableView, viewFor tableColumn: NSTableColumn?, row: Int) -> NSView? {
        let result = tableView.makeView(withIdentifier: NSUserInterfaceItemIdentifier(rawValue: "MyView"), owner: self) as? CustomNSTableCellView

        // Set the stringValue of the cell's text field to the nameArray value at row
        switch self.values[row]["status"] as! String {
        case "up":
            result?.stockImage.image = NSImage(named: NSImage.Name("up"))
            result?.stockImage.contentTintColor = NSColor.red
            result?.companyName.textColor = NSColor.red
        case "down":
            result?.stockImage.image = NSImage(named: NSImage.Name("down"))
            result?.stockImage.contentTintColor = NSColor.green
            result?.companyName.textColor = NSColor.green
        case "flat":
            result?.stockImage.image = NSImage(named: NSImage.Name("flat"))
            result?.stockImage.contentTintColor = NSColor.gray
            result?.companyName.textColor = NSColor.gray
        default:
            break
        }
        result?.companyName.stringValue = self.values[row]["name"] as! String
        let formatter = NumberFormatter()
        formatter.numberStyle = .decimal
        let commaString = formatter.string(from: self.values[row]["price"] as! NSNumber)
        result?.stockPrice.stringValue = commaString ?? "-"

        // Return the result
        return result
    }
}

よかったら いいね してください。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Ubuntuで全角/半角の切替をMac風にする

概要

Ubuntuでは全角/半角の切替がWindows風になっています。これをMac風にしていきます。具体的には、無変換キーで半角英数入力に、変換キーでひらがな入力に切り替えます。

結論

変換キーでひらがな入力にするために、xmodmapを使用します。変換キーをひらがなキーにしてしまいます。

無変換キーで半角英数入力にするために、Mozcの設定をいじります。IMEを無効化することで半角英数入力にすることができます。

環境

Ubuntu 18.04.3
xmodmap 1.0.9

方法

変換キーでひらがな入力

~/.Xmodmapに以下を記述します。

~/.Xmodmap
keycode 100 = Hiragana NoSymbol Hiragana

次のコマンドを実行します。

xmodmap ~/.Xmodmap

無変換キーで半角英数入力

右上のメニューから、日本語(Mozc) -> ツール -> プロパティをクリックします。
Screenshot from 2019-08-28 02-45-19.png

すると下のような画面が出てくると思います。
Screenshot from 2019-08-28 02-56-27.png

キー設定の選択で「ことえり」を選択します。

その横にある「編集...」をクリックします。編集 -> エントリーを追加から、以下のように指定します。「IMEを無効化」によって半角英数に切り替えます。

Screenshot from 2019-08-28 03-00-21.png

最後に「OK」をクリックすれば完了です。

おわりに

変換キーと無変換キーの設定方法が異なるのは気に食わないですが、どちらか片方の方法だけでは実現できませんでした。もっといい方法があるかもしれません。

Fcitxを使った方法は以下にありました。
Ubuntuの入力モード切り替えのキーバインドを変更してMac風にする

関連リンク

Ubuntuでキーボードのマッピングをxmodmapで変更する(Ubuntu18.04対応)

起動時にxmodmapの設定を反映させる

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む