snapが怪しい…

イメージ
メインマシンの Ubuntu26.04が固まる 通常のUpdateを行なって、再起動が必要というので再起動を実施。 gdmのログイン画面は表示される ユーザ選択 パスワード入力 デスクトップに切り替わる途中で固まる マウスは動作せず キーボードは反応する あれ?タイミングの問題かな?と思い再度実施するが、改善はしない。 どうやら最後のUpdateが問題っぽい。 ということで、GRUBメニューからSafe Mode(Netoworkあり+root)で起動する 記憶では、Linux-Kernel関係が7.0.0-29に上がっていた表示を見ているので、前の7.0.0-28に戻す。 改善せず ちなみにメインマシンの環境は Ubuntu26.04(64GB) + GeForce3060(8GB) + デュアルディスプレイ SSD(1TB+2TB) , HDD(4TB)という構成 一応、sshでの接続はできるので、MacBookからリモートでこの状況のログを確認しながら作業する。 ログを渡してGeminiに確認するが、nvidiaのドライバと、kernel7.0.0-29の問題と指摘される。 まぁ過去にもアップデート後にドライバ入れ直すことは多々あったので、またかぁ…という感じ。 そこで、open版に入れ直したり、バージョン変えたり…。 どれもだめ。 結局3時間ほど粘ったが改善せず。

LinuxでC#

Ubuntu上でC#を使う

Windows7/10にVisual Studio Communityを入れれば、すんなりと環境は構築できる。

でも、メインマシンがUbuntuなので、VMのWindowsを起動して、その上で動かすのが時間もかかって面倒なのですよ…。
 しかも、めったにWindowsを使わないため、起動するたびに更新の罠にはまって、使い始めるのに時間がかかりすぎるという状況。

そこで、Ubuntu上で、普通にコードがかければ楽じゃね?と思い探してみる。



コンソールアプリならOK

結果的には、コンソールならWindowsと何ら変りなく利用できることが分かった。

マイクロソフトのサイト

へ行けば、以下の手順が乗っている。

curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
sudo mv microsoft.gpg /etc/apt/trusted.gpg.d/microsoft.gpg
sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-xenial-prod xenial main" > /etc/apt/sources.list.d/dotnetdev.list'
まずは、上記のリポジトリを追加

そして、以下のコマンドで.NET関係のインストール。

sudo apt-get install apt-transport-https
sudo apt-get update
sudo apt-get install dotnet-sdk-2.1.105

あとは、いつも使っているVisual studio codeで、マイクロソフト製の拡張機能を入れれば良い。

拡張機能も、ページの下の方に書かれている。
https://marketplace.visualstudio.com/items?itemName=ms-vscode.csharp


vscodeの拡張機能で、「c#」で検索すればすぐに見つかるはず。

でもって、入れればその他必要なものは、インストールしてくれる仕様だ。


実際に動かしてみる

まずは、適当な作業用ディレクトリで、プロジェクトを作成する。
$ cd tmp
$ dotnet new console -o myApp
これで、myAppというフォルダが掘られて、雛形ファイルがザザッと作られる。

Program.csという雛形が出来上がっているので、これを編集することになる。

この辺りの、ファイル・フォルダ構成がvisual studioと同じになっているのが、ある意味素晴らしい。


実行すると以下のようなメッセージが表示される。

$ dotnet new console -o myApp
テンプレート "Console Application" が正常に作成されました。
作成後のアクションを処理しています...
'dotnet restore' を myApp/myApp.csproj で実行しています...
  Restoring packages for /home/yoshimura/tmp/myApp/myApp.csproj...
  Generating MSBuild file /home/yoshimura/tmp/myApp/obj/myApp.csproj.nuget.g.props.
  Generating MSBuild file /home/yoshimura/tmp/myApp/obj/myApp.csproj.nuget.g.targets.
  Restore completed in 492.65 ms for /home/yoshimura/tmp/myApp/myApp.csproj.
正常に復元されました。
最後の「正常に復元されました」というのは、少々気持ち悪いw

vscodeで開いてみる。

別にHello Worldは無しでも良いのだけれど…。

しかも、このままDebug可能と来たもんだ!
もちろん、以下のコマンドで実行も可能。

$ dotnet run

これなら、visual studioなしでも、ちょろっと書いてテストするには充分。

何となくMicrosoftの本気度を垣間見た気がする。

コメント

このブログの人気の投稿

MEGAにも弱点があった?

Ubuntu24.04 でGUIが死んだ

VirtualBoxでUSBを使う方法が分かった!