Fedora   Arm64

ホーム  

Arm64 開発環境設定

おおげさなタイトルですが、Apple sillicon Mac と Parallels Desktop を使って、いろいろな Arm64 OS に開発環境を設定していこうという、覚え書きのようなコーナーです。
3つ目は Fedora にします。

Arm 版 Linux

現在 Parallels Desktop の「新規作成」に用意されている OS は、Windows 11、macOS、Ubuntu Linux、Ubuntu with Rosetta、Fedora Linux、Debian GNU/Linux、Kali Linux です。

Ubuntu with Rosetta 以外はすべて Arm64 版です。現在 Parallels Desktop には Arm64 以外の OS はインストールできません。Ubuntu with Rosetta の Rosetta は、Arm64 の上で Intel 版アプリを動作させる仮想環境です。

上記以外でも Arm64 版であれば、インストールできるのですが、それがほぼないのです。まともにダウンロードサイトが立ち上がっているのは Windows 11 Arm64 ぐらいです。

そこで今回は、Parallels Desktop が用意してくれている OS の中からインストールしていこうと思います。

Linux には大きく分けて RPM 系と Debian 系に分かれます。前回の Kali Linux は Debian 系でしたので、今回は RPM 系の Fedora にします。

Parallels Desktop の指示にしたがい Fedora Linux をインストールしてください。

Cinnamon Dsktop

よく Windows と Mac は操作感が違うと言われますが、なんだかんだと言ってもよく似ています。Linux の Gnome Desktop と比べたら。そこで今回は Windows や Mac と操作感の似た Cinnamon Desktop をインストールします。

Fedora Linux が起動したら、自動で作られた Parallels というアカウントを選択します。すると右下に歯車アイコンが表示されるので、それをクリックします。現在 GNOME が選ばれていることがわかります。確認が終われば 任意のパスワードを入力します。まずは Parallels Tools のインストールを許可するようにパスワードを求められます。パスワードを入力してください。Parallels Tools のインストールが終わったら、再起動を促されます。再起動してください。

次にターミナルを起動して次のようにコマンドしていきます。


// dnf パッケージマネージャをアップデートします。これはかなり時間がかかります。
 sudo dnf update

// Cinnamon デスクトップをインストールします。
sudo dnf group install cinnamon-desktop

// 再起動します。
reboot
    

起動画面で Parallels アカウント選択して右下の歯車アイコンをクリックし、Connamon を選択します。

再起動すると、もう一度 Parallels Tools のインストールが始まります。パスワードを入力してください。 Parallels Tools のインストールが終われば、再び再起動します。

無事に Cinnamon デスクトップになりました。

Eamcs キーバインド

Emacs キーバインドにしておくと便利なので設定します。テスト用に gedit を使いますが、 Fedora や Debian にはデフォルトで gedit はインストールされていません。 次のようにターミナルでインストールします。


    sudo dnf install gedit

そして、次のように操作します。

  1. 左下のMenu ボタンをクリックします
  2. 表示されたスタートメニューの検索窓に gedit と入力します
  3. 表示された gedit を右クリックして Add to panel をクリックします
  4. gedit を起動してキー操作を試してください。まだ Emacs キーバインドにはなっていません

ターミナルを起動して次のように入力してください。ターミナルははじめからパネルに登録されています。


// 現在のキーバインドを確認します
gsettings get org.cinnamon.desktop.interface gtk-key-theme

// まだ Emacs になっていません
'Default'

// Emacs キーバインドに設定します
gsettings set org.cinnamon.desktop.interface gtk-key-theme Emacs

// 現在のキーバインドを確認します
gsettings get org.cinnamon.desktop.interface gtk-key-theme

// Emacs になりました
'Emacs'

ターミナルを終了して、gedit を起動してください。キーバインドが Emacs に変わっています。

日本語化

ターミナルを起動して次のように入力してください。


// 日本語環境をインストールします
sudo dnf install langpacks-ja

// インストールが終わりましたらターミナルを閉じます
  1. Menu ボタンをクリックして、表示されたスタートメニューの検索窓に languages と入力します
  2. 表示された Languages アプリをクリックします
  3. 表示された Languages Settings で、Language を Japanese, Japanにします
  4. Region も Japanese, Japan にします。
  5. Syatem locale の Apply System-Wide をクリックします
  6. Fedora を再起動します
  7. 再起動後、日本語環境に変わっています
  8. フォルダーの名前を古い名前のまま(英語)にするか、更新(日本語)にするか問われます
  9. 私は「次回から表示しない」にチェックを入れて、古い名前のままにするを選んでいます
  1. gedit などを起動するとパネルの右の方に「EN」と表示されます。 クリックして「日本語-Anthy」をクリックします
  2. パネルの文字が「あ」に変わります。「あ」をクリックして「設定-Anthy」をクリックします
  3. 表示された「IBus-Anthyの設定」の「一般」タブで「入力モードを「英数」に設定します
  4. 「IBus-Anthyの設定」の「キー割り当て」タブを選択します
  5. 「latin_mode」に英語に切り替える場合のキーを設定します
  6. [hiragana_mode」に日本語に切り替える場合のキーを設定します

C / C++ の設定

コンソールを立ち上げて、次のようにコマンドしてください。


// C がインストールされているか確認します
$ gcc --version
gcc (GCC) 14.2.1 20240912 (Red Hat 14.2.1-3)
Copyright (C) 2024 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

// C++ がインストールされているか確認します。
$ g++ --version
bash: g++: コマンドが見つかりませんでした...
コマンド g++' を提供するためにパッケージ 'gcc-c++' をインストールしますか? [N/y]

// yと入力してエンターキーを押します

// g++ がインストールされたか確認します
g++ --version
g++ (GCC) 14.2.1 20240912 (Red Hat 14.2.1-3)
Copyright (C) 2024 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    

Emacs については、ターミナル内で起動できる Fedora 用の Emacs が見つからなかったので、 今回はインストールしません。エディタとして gedit を使います。

wxWidgets

wxWidgets も、コンソールを使ってインストールします。


// 確認
wx-config --version
bash: wx-config: コマンドが見つかりませんでした...
コマンド wx-config' を提供するためにパッケージ 'wxBase-devel' をインストールしますか? [N/y]
// これは違うものなので「n」と入力して、キャンセルします。

// インストール
sudo dnf install wxGTK-devel

// 確認
wx-config --version
3.2.4

// バージョンが最新の 3.2.6 ではありませんが、これで良しとします
    

これで、wxWidgets プログラミンができるようになりました。次のコードを記述して、お好きな場所に保存してください。

hello.cpp


#include <wx/wx.h>

class Hello : public wxFrame
{
public:
    Hello();
};

class App : public wxApp
{
public:
    virtual bool OnInit();
};

Hello::Hello() : wxFrame(NULL, -1, wxT("Hello wxWidgets!"),
                         wxDefaultPosition, wxSize(300, 200))
{
    Center();
}

IMPLEMENT_APP(App)

bool App::OnInit()
{
    Hello *hello = new Hello();
    hello->Show();
    
    return true;
}
    


コンパイルと実行

コンソールを開いて、hello.cpp を保存したディレクトリに移動します。 そして次のようにコマンドしてコンパイルします。


// コンパイル
g++ hello.cpp `wx-config --cppflags --libs` -o hello

// 実行
 ./hello
    

hello.cpp をコンパイルした場所を開いて hello をダブルクリックしても実行することができます。hello をデスクトップなどへ移動してもダブルクリックで実行できます。


GTK

コンソールを開いて GTK をインストールします。


// 確認
pkg-config --version
2.1.1
// これが表示されても、おそらくインストールされていません。次を続けてください

// gtk2 のインストール
sudo dnf install gtk2-devel

// 確認
pkg-config --vesion
2.1.1

// gtk3 のインストール
sudo dnf install gtk3-devel
メタデータの期限切れの最終確認: 1:26:07 前の 2025年03月13日 16時28分51秒 に実施しました。
パッケージ gtk3-devel-3.24.43-1.fc40.aarch64 は既にインストールされています。
依存関係が解決しました。
行うべきことはありません。
完了しました

// gtk2と一緒にインストールされたみたいです。
    

これで GTK プログラミンができるようになりました。次のコードを記述してお好きな場所へ保存してください。

hello.c


#include <gtk/gtk.h>

int main(int argc, char *argv[])
{
    GtkWidget * window;
    
    gtk_init(&argc, &argv);
    
    window = gtk_window_new    (GTK_WINDOW_TOPLEVEL);
    gtk_window_set_title       (GTK_WINDOW(window), "Hello GTK!");
    gtk_window_set_default_size(GTK_WINDOW(window), 300, 200);
    gtk_window_set_position    (GTK_WINDOW(window), GTK_WIN_POS_CENTER);
    
    g_signal_connect(window, "destroy", G_CALLBACK(gtk_main_quit), NULL);
    
    gtk_widget_show(window);
    gtk_main();
    return 0;
}
    


コンパイルと実行

コンソールで hello.c を保存した場所に移動して次のようにコマンドします


// gtk2 でのコンパイル
// gtk2 でのコンパイルは、かなりの量の警告が表示されます
// エラーではないのでコンパイルは完了しています
gcc hello.c `pkg-config --cflags --libs gtk+-2.0` -o hello

// gtk3 でのコンパイル
gcc hello.c `pkg-config --cflags --libs gtk+-3.0` -o hello

// 実行
./hello
    

出来上がった hello をダブルクリックしても実行できます。hello をデスクトップなどに移動してダブルクリックしても実行できます。


実行結果

gtk2

gtk3


202 visits
Posted: Mar. 13, 2025
Update: Mar. 14, 2025

ホーム   目次