競プロerのための軽いUbuntu入門

本記事は競プロ Advent Calendar 2023,第 22 日目の記事として書かれました.

※「競プロアドベントカレンダー、公開されてからしばらく立つけど、まだ空いてるところがいっぱいあるなぁ…それならぼくなんかが書いた記事でものせてみていいよね?どうせ空いてるのなら!」っていう気持ちで登録してしまいました。
ぼくなんかが一枠とってごめんなさい。

土下座でチュウ

あと前半は文字ばっかりだけど後半は画像めっちゃ使って説明してるからね…!

* * *

こんにちは。ロッチです。

突然ですが、Ubuntuを使ってみたいと思ったことはありませんか?


…なんだいきなり。と思うかもしれませんが、Twitterをしている人ならUbuntuを使っている競プロerのツイートを見たことは一度はあるでしょう。
ぼくも最初はWindowsを使っていましたが、他の人のツイートに触発されてUbuntuを使い出しました。

Windowsを使っていたときは、「別にWindowsで十分じゃね?困ったこともないし」と思っていたのですが、Ubuntuに移行してからは「Windowsよりめっちゃ便利だなぁ…」ととても感じています。


もちろんWindowsにもいいところはいっぱいありますし、別にWindowsよりUbuntuの方が優れたOSだ!ということをいいたいわけではありません。どっちが使いやすいかは人それぞれだと思います。

だとしても、Windowsだけを使ってきていても、たまにUbuntuなどに興味が出たことはありませんか?
しかし、興味を持っていてもなかなか手を出しにくいのではないでしょうか。
Ubuntuを使ってみよう!と思っても、新しくOSを入れるわけですから結構面倒だったりします。

でも、せっかく使ってみたいなと思ったのに面倒だからという理由でUbuntuを使ってみないのはすごく損をしていることだとぼくは思います!

ネットで「競技プログラミング Ubuntu」と調べてみたところ、あまり思っていたような記事が出てこなかったので自分で書いてみることにしました!(調べ方が下手くそなのでちゃんと調べたら出てくると思う。これは理由をこじつk)


しかし、Ubuntuをパソコンに入れる!というところの説明は省くことにします。

ぼくにはUbuntuをパソコンに入れるのをちゃんと説明する自信はありません…

インターネットにはUbuntuをパソコンに入れる方法について説明してるサイトがめっちゃんこあるので、普通にインターネットで調べてみたほうがクオリティがいいものが見つかるはずです。インターネットにはこの手の記事はたくさん出ているでしょうから、めちゃくちゃ質のいいものはたくさんあるはずです!

※ちなみにぼくはWindowsとは違うSSDUbuntuをぶち込みデュアルブートしています。

今回ぼくが説明するのは、Ubuntuを入れたあとの環境構築のやり方などです


あと、最初に基本的な端末(コマンドライン)の操作を覚えてもらいます

端末というのは、、、これです!

端末を開いたときにはまずホームディレクトリにいます。

1 ディレクトリ(フォルダ)の作成

作りたいディレクトリを入れたいディレクトリの中で

mkdir 作りたいディレクトリ名

とコマンドを打てばよいです

ここでエンターキーを押せばおk

2 ディレクトリ間の移動

行きたいディレクトリが入っているディレクトリの中で

cd 行きたいディレクトリ名

を打てばOKです。

また、前(上位)のディレクトリに戻りたいときは

cd ..

と打ち込んであげればいいです。


ファイルの作成

ファイルを作りたいときは、作りたいファイルを入れたいディレクトリの中で

touch ファイル名

と打ち込めばよいです


ディレクトリの中身を表示

任意のディレクトリの中で、

ls

を実行すると、そのディレクトリの中に何が入っているかがわかります。

これらのコマンドが使えたら、ひとまずなんとかなります!

1 エディタ

ソースコードを書くときに絶対必要といっても過言ではないものは、エディタでしょう!

この世にエディタは星の数ほどあると思いますがその中でも主なものを3つ、vscodeEmacsVimについて入れ方を説明します!

1 Emacs

まずはEmacsの入れ方です。
Emacsの入れ方はかなり簡単です。

端末を開いて、sudo apt install emacsと打ち込めばいいだけです。

Emacsを入れる

パスワードが要求されるので、端末にパスワードを打ち込み、エンターキーをバーン!!
Emacsがパソコンの中に入ります!

Emacsの使い方は簡単で、編集したいファイルが入っているディレクトリ(フォルダ)に移動し、そこでemacs ファイル名 と打ち込むと使用することができます。

これでEmacsのウィンドウが開く

2 Vim

VimEmacsと同じように、端末を開いて sudo apt install vim と打ち込めばインストールすることができます。

使い方もEmacsと同じで、vim ファイル名 と打ち込めば、Vimで編集したいファイルを選ぶことができます。

これはさっきのもすーんバチャのコード(恥ずかしいものをごめんなさい)

…と思ったのですが、今はNeovimが多く使われているのを知っていなかったです。ぼくはViを使っていたので…
みちらからに教えられて気づきました!!
まあ、こっちも sudo apt install neovim  で入るんですけどね!

3 vscode

個人的にはEmacsVimの方がおすすめですが、VScodeにもいい点はあるし、使いたい人もいると思うので説明します!

まず、VScodeの公式サイトに移動します
https://code.visualstudio.com/Download


すると、WindowsのマークとMacのマークとペンギンさんがいると思います。
知らない人がいるかもしれないけど、ペンギンさんはLinuxのことです。

ということで、ペンギンさんのマークがあるところからダウンロードしましょう。.debと.rpmがあると思いますが、.debの方をダウンロードしてください。

こんな感じになると思います(これはVScodeというディレクトリを作って、そこにさっきの.debファイルをダウンロードした)

その後、ダウンロードしたファイルをクリックして、別のアプリケーションで開くをクリックします。

ソフトウェアのインストールというところを選択します

すると、このような画面が出てくると思うので、インストールをクリックしてください

パスワードを入れてあげましょう

インストールが始まります。しばらく待ちましょう
すると、このような画面になると思います。

開くを押してあげるとVScodeが起動します!!お気に入りにでも登録して、サイドバーなどからすぐに起動できるようにすると便利ですね


あとはWindowsとかでの使い方とおんなじ!


2 コードの実行

エディタと並んで、競技プログラミングで必要なものといえば、コードを実行することでしょう!

WindowsVScodeを使っている人は、VScodeの中でコンパイルしたり、実行したりすればいいんじゃないの…?と思っているかも知れませんが、Ubuntuでは端末でコンパイルしたり、実行したりするのが主流です(というか当たり前?)。

全部の言語について紹介するの、大変なので、PythonC++のやり方について説明します。

Python

まず、端末で sudo apt install python3 と打ち込んでください。

環境構築終わりです!

Pythonのコードを書いたら、拡張子を.pyにして保存し、端末でそのファイルがあるディレクトリに移動し、

python3 実行したいファイル名

というふうにすれば実行することができます!


C++

C++は、まずコンパイラを入れます

端末に

sudo apt install g++

と打ち込んでください

はい!コンパイラが入りました!!!!


コンパイルと実行のやり方は

まず、C++ソースコードを書いて、拡張子を.cppにして保存してください
次に、そのソースコードがおいてあるディレクトリに端末で移動します。
そして、端末に

g++ 実行したいファイル名

とぶち込んでください

これでコンパイルができました!
特に指定していなければ、そのディレクトリの中に

a.out

という実行ファイルが作成されます。

そのディレクトリの中で端末に

./a.out

などと打ち込むと、コンパイルしたC++のコードを実行することができます!

簡単でしょ?

標準入力なども端末の中でできます!
他の言語のやり方なども、ネットで調べてみたらたくさん出てくると思うので、やろうと思った人はぜひ調べてみてください〜

Chrome

UbuntuのブラウザといえばFireFox

…ですが、Chromeを使いたいという人も多いと思います。
なんかFireFoxChrome拡張機能を使うことができる!とかいう情報も聞いたことありますが、めんどくさそうだし、Chromeを使ったほうが速いなと思ったので、ぼくはChromeを入れて使ってます。

…ということでChromeの入れ方!

まず、FireFoxなどで、以下のリンクのChromeのホームページに入ってください。

https://www.google.co.jp/intl/ja/chrome/

そして、真ん中にあるChromeをダウンロードをクリックします

すると、以下のようなものが表示されると思います。

.debの方を選択して、同意してインストールをクリックしてください。
任意のディレクトリに保存した後は、VScodeを入れた時のような操作をすれば、Chromeが入ります!!

AtCoderで使う拡張機能をバンバンいれましょ〜!


これだけじゃまだまだUbuntuが使いやすくならないと思います。ぼくも、これ以外にたくさんのソフトを入れたりしました。

…でもこの記事ではそろそろ終わりにします!だって書くのが大変だから

もしUbuntuでなにかしたくなったら、すぐにインターネットで調べてください!インターネットには情報がたくさんのっています。検索エンジンなどで調べて上の方に出てくるサイト以外にも、自分の知りたいことを説明しているサイトはあるし、上の方に出てくるサイトが一番わかりやすいとは限りません。

根気よく調べていけばきっと自分の知りたいことは見つかります!頑張ってください!

楽しいUbuntuライフを!