- 投稿日:2021-01-15T22:19:54+09:00
Linux kernelとはなにか?
Linux kernelとは?
kernelという単語が「中核」という意味であることから。簡単に言うと、Linux kernelとはLinuxの中核となるプログラムのことである。
厳密には「Linux」=「Linux kernel」である。Linux kernelの役割は何か?
Linux kernelはOSの中核となるプログラムであることから、ハードウェアを動かす指示を出している。
Linuxディストリビューションとは?
Linuxディストリビューションには、Linux kernelとユーザーインターフェイス(ユーザーとカーネルの仲介をするプログラム)などの様々なプログラムが含まれており、OSとしてユーザーがすぐに使えるような状態のものを指す。
Linuxディストリビューションの具体例としては、最近サポート終了が発表されたCent OSやUbuntuが挙げられる。最近では、これら「Linuxディストリビューション」をLinuxと呼ぶことが増えてきている。
参考記事
カーネル(kernel)
The CentOS Project
Ubuntu Japanese Team
【ざっくりまとめ】Linuxディストリビューションを比較してみる間違っている点などがあればご指摘いただけると幸いです。
- 投稿日:2021-01-15T19:09:27+09:00
文化的なfish環境を得る為の最短ルート
10数行のコピペだけで素早く最低限のfish環境を整えるためのメモです。
具体的には、fish+fisher+Theme+Z+fzfをインストールして使えるようにします。Ubuntu20.04で確認していますが、Ubuntu18.04も同じと思います。
背景
一時的に普段と違う環境で作業することになった場合など、初めのうちは時間効率など気にしてbashで頑張ろうとするのですが、数日後に結局我慢できずにそこそこ時間をかけてfish環境を整えてしまうので、自分用のメモとして残すことにしました。これで初日からfishでイキりコンソールを使えます。
fishシェルをインストール
公式 のまま
sudo apt-add-repository ppa:fish-shell/release-3 sudo apt-get update sudo apt-get install fishデフォルトシェルをfishへ
sudo usermod -s /usr/bin/fish dev-userこれで一応使い始めることができます。
中間補完も使えます。Themeとプラグインを入れて整える
# パッケージマネージャ(fisher)をインストール curl -sL https://git.io/fisher | source && fisher install jorgebucaran/fisher # テーマ(simnalamburt/shellder)をインストール fisher install simnalamburt/shellder # フォルダ移動を便利に(> z [TAB]で履歴へジャンプ) fisher install jethrokuan/z # fzfで曖昧検索を超絶便利に sudo apt install -y fzf sudo apt install -y bat sudo apt install -y fd-find alias fd='fdfind' && funcsave fd alias bat='batcat' && funcsave bat fisher install PatrickF1/fzf.fish # (メジャーなjethrokuan/fzfを使わないのはctrl-rがかなり遅かったから)インストールは以上で完了です。
(ターミナルが文字化けする場合は、解説/補足:フォントを入れるを参照してください)解説/補足
以下はインストール後に有益かもしれない補足情報です。
Pathの追加
set -U fish_user_paths <追加するpath> $fish_user_paths環境変数の追加
bashのように設定ファイルに書かなくても永続化されます。
set -x <環境変数名> <値>エイリアスの設定と永続化
alias <新しい名前>='<元のコマンド>' && funcsave <新しい名前>展開エイリアスの追加
コマンドに別名を付ける機能ですが、エイリアスと違いヒストリには元のコマンドで記録されます。複数人で運用するときなどに混乱しなくて良いです。
abbr -a <新しい名前> <元のコマンド>
themeを探す
https://github.com/oh-my-fish/oh-my-fish/blob/master/docs/Themes.md
本記事でインストールしているのは次のテーマです。
Gitのstatusが一目でわかって便利です。Fontを入れる
本記事のshellderを含む、Fishのテーマの多くが絵文字フォントを利用しています。文字化けする場合は利用しているOSに次のサイトにあるフォントなどをインストールして、ターミナルソフトのフォント設定を変更する必要があります。
https://github.com/powerline/fonts
私はUbuntu Monoを入れています。
Zの使い方
ターミナルで「z+[SPACE]+[TAB]」と打つと、フォルダの移動先候補が現れます。
複数のフォルダを行ったり来たりするのが楽になります。
z+[SPACE]+[TAB]fzfの使い方
とりあいず、ホームディレクトリで「CTRL + f」を押してみましょう、フォルダやファイルをランチャー形式で選べる画面が表示されると思います。
続いて、普段はファイル名補完などで「TAB」キーを押すタイミングで「CTRL+f」を押してみましょう(例えば「vi [CTRL+f]」など)。補完候補がランチャー形式で表示されます。右ペインにファイルのプレビューが表示さるなど便利です。
また、CTRL+rでコマンド履歴が表示されます。
リストが表示されるだけのfish標準のhistoryコマンドと違い、上下キーや「CTRL+p」「CTRL+n」でカーソル移動して履歴を再実行できるので便利です。最後に
これまでもドットファイル運用やAnsibleのルールブックなど色々ため込んできましたが、ケース対応が煩雑で結局インストール方法をネットで検索している自分がいます。この記事で卒業できると良いのですが。
- 投稿日:2021-01-15T18:57:48+09:00
複数ファイルを1回でrsyncする
--files-fromオプション
複数のファイルを1回のrsyncコマンドで送信する
準備
/path/to/images.txtにファイル名を入力(改行で区切る)
images.txtfile1.png file2.png file3.png実装
※送信元のディレクトリにimages.txtに記入したファイルがあることを確認
$images = '/path/to/images.txt' $src_path = '/path/to/src/'; $tar_path = '/path/to/tar/'; $rsync_host = 'ユーザ名@送信先IPアドレス'; $command = "rsync -av --files-from=".$images." ".$src_path." ".$rsync_host.":".$tar_path; exec ( $command, $output, $ret ); if($ret == 0) { return true; } else { return false; }
- 投稿日:2021-01-15T17:50:31+09:00
【インフラ】whileコマンドまとめ
1. 基本的なwhile文
コマンドwhile true > do > echo "hello world" > sleep 1 > done出力結果// 実施結果 hello world // 際限なく繰り返す hello worldファイル検索 + 中身の文字列検索
コマンド$ find ./ -type f -name "sample.txt" | while read line; > do > $line > grep sample $line > done出力結果./tmp/sample.txt sampleファイル検索 + 文字列検索(検索対象一部除外)
コマンド$ find ./ -type f \! \( -name "exclusion" -o "test" \) | while read line; > do > echo $line > grep sample $line > done出力結果./tmp/sample.txt sampleディレクトリ情報検索
コマンド$ find / -type d | xargs ls -ld | awk '{print $3,$4,$6,$9}' | sort出力結果root root 1月 14日 /tmp/testVim頻出操作
1行目先頭:1G or gg 最終行先頭:G カーソル行先頭:^ カーソル行末尾:$ 1語次へ:w 1語前へ:b 単語末尾:e 取り消し:u 1行コピペ:yyp 複数行コピペ:10yyp 1行削除:dd 複数行削除:10dd 置換:%s/before/after/g
- 投稿日:2021-01-15T15:30:44+09:00
他のコンピューターにリモート接続したい、そしてnautilusコマンド
コマンド
ssh ログイン先のユーザー名@ログイン先のIPアドレス
例 ユーザーrunのパソコンからユーザーpome,IP:12.23.23.23のパソコンにssh接続する
ssh pome@12.23.23.23Xを飛ばして、ssh接続をする。そしてnautilusコマンドでフォルダを表示
例 ssh -Y -C pome@12.23.23.23
-Y:Xの転送指定
-C:通信内容の圧縮(応答性が良くなる)nautilusコマンドとは?
「Nautilus」(ノーチラス)は、GNOMEデスクトップ環境を構成するグラフィカルシェルです。端末から「nautilus」コマンドを実行すると、GNOMEの「ファイル」画面を開きます。目次に戻る
nautilusコマンドの書式
nautilus [オプション] [場所(URI)]※[ ]は省略可能な引数を示しています。
目次に戻る
nautilusの主なオプション
短いオプション 長いオプション 意味
-w --new-window 指定した場所(URI)を、常に新しいウィンドウで開く
-n --no-default-window 明示的に指定した場所のウィンドウだけを表示する
--no-desktop デスクトップを管理しない(GSettingsの設定を無視する、※1)
--force-desktop デスクトップを管理する(GSettingsの設定を無視する、※2)
-q --quit 実行中のNautilusを強制終了する
-s --select 指定した場所を選択する(ディレクトリを指定した場合は親フォルダを表示する)
※1 GSettingsはGNOMEデスクトップの設定情報。gsettingsコマンドとdconfコマンドで内容を確認、変更できる。
※2 Ubuntu 18.04 LTSでは--forcedesktopオプションを利用できない。
- 投稿日:2021-01-15T09:56:11+09:00
AMD GPUを使用してLinux/Ubuntu 20.04でCyberPunk 2077をプレイする方法
はじめに
こんにちは streampack チームのメディです。
https://cloudpack.jp/service/option/streampack.htmlCopyrights
Cyberpunk 2077© is a registered trademark of CD PROJEKT Capital Group©
STEAM© is a registered trademark of Valve Corporation©
コピーレフトのイラスト : cyberpunk-city-girl-window-view-5837064免責事項
この記事はAMD GPUのみに関係します。
目的
Linuxで最近のWindowsゲームを実行する簡単な例を学ぶ.
そのために、Protonを使用します。ProtonはValveによって開発されました。
Protonは、Linuxで実行するMicrosoftWindowsゲームの互換性レイヤーです。
この例では、CyberPunk2077を例として使用します。 Steamで購入しました。ハードウェアについて
最小要件はここにリストされています。
新しいハードウェア !
新しいGPU(Radeon RX 5500 XT)をインストールした後、起動時に黒い画面が表示されました。 いくつかの調査の結果、マザーボードがファームウェアのアップデートを取得する必要があることがわかりました。
新しいファームウェアでマザーボードをフラッシュすることは危険な手順です。慎重に進めてください。
マザーボードをフラッシュした後、新しいGPUをインストールすると、すべてが正常に機能しました。
XORGまたはWayland
Ubuntuにログインすると、ディスプレイサーバー(画面の右下)を選択できます。
現在、デフォルトのディスプレイサーバーであるXORGを使用しています。
将来、HDRがサポートされるときに、Waylandに切り替える可能性があります。この調査によると、2つのサーバー間の現在の違いは非常に小さいです。
ステップ 1 : ビデオドライバー
Linuxの最新のAMDGPUには、2つのドライバーがあります。
独自のドライバー:AMDGPU-PRO
オープンソースドライバー:AMDGPUProtonを使用するには、AMDGPUを使用する必要があります。
現在のビデオドライバーを表示します。
lspci -k | grep -EA3 'VGA|3D|Display'見るべきライン :
... Kernel driver in use: amdgpu ...ステップ 2 : Mesa
Mesaは、OpenGL、Vulkan、およびその他のグラフィックAPI仕様のオープンソースソフトウェア実装です。
CyberPunk 2077©の場合、必要な最小バージョンはv21です。
最新バージョンをインストールするには、次のことを行ってください。
sudo add-apt-repository ppa:oibaf/graphics-drivers sudo apt update sudo apt upgradeインストールされているバージョンを確認したい場合は、mesa-utilsを使用する必要があります。
sudo apt-get install mesa-utilsglxinfo | grep "OpenGL version"ステップ 3 : CPUガバナーとGPU電源管理
Linuxでは、ガバナーがCPUの周波数を決定します。 デフォルトでは、ガバナーはオンデマンドモードを使用しています。 オンデマンドモードはゲームには適していません。
このユーティリティは、GPUの省電力モードも無効にします。
CPUとGPUの設定を簡単に最適化するために、gamemodeユーティリティを使用しています。
Gamemodeの依存関係
sudo apt install meson libsystemd-dev pkg-config ninja-build git libdbus-1-dev libinih-devsudo apt install dbus-user-sessionsudo apt install build-essentialsudo apt-get install manpages-devインストール
git clone https://github.com/FeralInteractive/gamemode.git cd gamemode git checkout 1.6 ./bootstrap.sh
詳しくは公式ホームページをご覧ください。
ステップ 4 : Steam
Steamをインストール
sudo add-apt-repository multiverse sudo apt update sudo apt install steam steamわかりやすくするために、Big Picture ModeでSteamを使用しています。
Steam PlayとProtonExperimentalを有効にする
カスタムランチャーオプション
ゲームモードを有効にするために、私は次のオプションを使用します。
gamemoderun %command%ランチャーページをスキップしたい場合は、以下を使用できます。
gamemoderun %command% --launcher-skipXboxOne有線コントローラーを使用しています。設定は次のとおりです。
サンプル
次の構成では、ゲームは1080pで60 fpsで実行され、グラフィカルオプションはLOWとMediumの間に設定されます。
CPU : AMD RYZEN 5 2400g (2018)
GPU : AMD Radeon 5500 XT 4GB (2019)
RAM : 16 GBスクリーンショットを添付しました。
他のゲーム
サポートされているゲームの完全なリストについては、Protonデータベースを参照してください。
情報元
https://github.com/FeralInteractive/gamemode
https://www.protondb.com/app/1091500