はじめに
ノートパソコンをクラムシェルモード(画面を閉じた状態)で使いたい場合や、Ubuntuをサーバーとして運用する際に、画面を閉じたときにスリープ状態に入らないように設定したいことがある。デフォルト設定では、ノートPCの蓋を閉じるとスリープに入るため、これを防ぐ設定方法をまとめた。
TL;DR
結論から言うと、設定ファイルの一箇所を変えるだけで対応できる。
sudo vim /etc/systemd/logind.conf
以下のコメントアウトを外し、HandleLidSwitch の値を ignore に変える。
# HandleLidSwitch=suspend # デフォルトは "suspend" に設定されている
HandleLidSwitch=ignore
この設定で、ノートPCの蓋を閉じてもスリープに入らず動作を続ける。
設定変更後は、以下のコマンドで systemd-logind サービスを再起動し、システムを再起動する。
sudo systemctl restart systemd-logind
sudo reboot
クラムシェルモードとは?
クラムシェルモードとは、ノートPCの蓋を閉じた状態でも外部ディスプレイやキーボード、マウスを使って操作を続けられるモードのこと。これにより、ノートPCをデスクトップのように使える。特にサーバー用途や作業スペースの省スペース化に便利だ。
なぜこの設定が必要か?
Ubuntuのデフォルト設定では、蓋を閉じるとスリープ状態に入るため、クラムシェルモードでの利用やサーバー運用時に問題が起きる。HandleLidSwitch=ignore に設定することで、蓋を閉じてもスリープに入らず、常に稼働し続ける。
トラブルシューティング
- 設定を変えても反映されない場合は、
systemd-logindサービスの再起動とシステムの再起動を行う。 - 他の電源管理設定やデスクトップ環境の設定が影響している場合もあるため、必要に応じて確認する。
参考
[試して理解]Linuxのしくみ ―実験と図解で学ぶOS、仮想マシン、コンテナの基礎知識【増補改訂版】
こちらの書籍は 2024/05/24 紙版の4刷に対応するため更新をおこないました。
(概要)
ITシステムやソフトウェアの基盤OSとして幅広く使われているLinux。エンジニアとしてLinuxに関する知識はいまや必須とも言えますが、あなたはそのしくみや動作を具体的にイメージすることができるでしょうか。
本書では、Linux OS における、プロセス管理、プロセススケジューラ、メモリ管理、記憶階層、ファイルシステム、記憶階層、そして仮想化機能、コンテナなど、OS とハードウェアに関するしくみがどのように動くのか、実験とその結果を示す豊富なグラフや図解を用いてわかりやすく解説します。
改訂に際しては全面フルカラー化。グラフや図解がさらにわかりやすくなり、ソースコードはC言語から、Go言語とPythonにアップデートしています。さらに仮想化、コンテナなどの章が加わりました。今どきのLinuxのしくみを本書でしっかり理解しておきましょう。
(こんな方におすすめ)
・Linuxの動作や仕組みに興味があるエンジニア
・OSや仮想マシン、コンテナのしくみを手軽に学びたいと考えているエンジニア
(目次)
序章 はじめに
第1章 Linuxの概要
プログラムとプロセス
カーネル
システムコール
ライブラリ
第2章 プロセス管理(基礎編)
プロセスの生成
プロセスの親子関係
プロセスの状態
プロセスの終了
ゾンビプロセスと孤児プロセス
シグナル
シェルのジョブ管理の実現
デーモン
第3章 プロセススケジューラ
前提知識:経過時間と使用時間
1つの論理CPUだけを使う場合
複数の論理CPUを使う場合
realよりもuser+sysが大きくなるケース
タイムスライス
コンテキストスイッチ
性能について
プログラムの並列実行の重要性
第4章 メモリ管理システム
メモリ関連情報の取得
メモリの回収処理
仮想記憶
プロセスへの新規メモリの割り当て
ページテーブルの階層化
第5章 プロセス管理(応用編)
プロセス作成処理の高速化
プロセス間通信
排他制御
排他制御の堂々巡り
マルチプロセスとマルチスレッド
第6章 デバイスアクセス
デバイスファイル
デバイスドライバ
デバイスファイル名は変わりうる
第7章 ファイルシステム
ファイルへのアクセス方法
メモリマップトファイル
一般的なファイルシステム
容量制限(クォータ)
ファイルシステムの整合性保持
Btrfsが提供するファイルシステムの高度な機能
データ破壊の検知/修復
その他のファイルシステム
第8章 記憶階層
キャッシュメモリ
Simultaneous Multi Threading(SMT)
ページキャッシュ
バッファキャッシュ
書き込みのタイミング
direct I/O
スワップ
統計情報
第9章 ブロック層
HDDの特徴
ブロック層の基本機能
ブロックデバイスの性能指標と測定方法
ブロック層がHDDの性能に与える影響
ブロック層がNVMe SSDの性能に与える影響
第10章 仮想化機能
仮想化機能とは何か
仮想化ソフトウェア
本章で使う仮想化ソフトウェア
仮想化を支援するCPUの機能
仮想マシンは、ホストOSからどう見えているか?
仮想化環境のプロセススケジューリング
仮想マシンとメモリ管理
仮想マシンとストレージデバイス
virtio-blkの仕組み
第11章 コンテナ
仮想マシンとの違い
コンテナの種類
namespace
セキュリティリスク
第12章 cgroup
cgroupが制御できるリソース
使用例:CPU使用時間の制御
応用例
終章 本書で学んだことと今後への生かし方
続きを読む
ゼロからわかるLinuxサーバー超入門 Ubuntu対応版 かんたんIT基礎講座
(概要)
※この商品は固定レイアウトで作成されており,タブレットなど大きいディスプレイを備えた端末で読むことに適しています。また,文字列のハイライトや検索,辞書の参照,引用などの機能が使用できません。
※PDF版をご希望の方は Gihyo Digital Publishing ( https://gihyo.jp/mk/dp/ebook/2023/978-4-297-13428-0 )も合わせてご覧ください。
Linuxサーバーのやさしい入門書です。人気のディストリビューション(OS)、Ubuntuを用いて、導入やコマンド、Apache HTTP ServerによるWebサーバー、PHPの実行やSSHなどLinuxサーバーの使い方が学べます。
サーバーに興味がある、はじめて触るという方でもわかりやすい、初歩的な内容から解説します。
(こんな方におすすめ)
・Linuxの使い方を手を動かして学びたい方
・サーバーを使ってみたい方
・初めてWebサーバーを学習する方
(目次)
CHAPTER 1 サーバーをはじめよう
1-1 サーバーの仕事と役割を知ろう
1-2 サーバー構築に必要なものを知ろう
1-3 サーバーOSについて知ろう
1-4 サーバーの基本を知ろう
1-5 自分のパソコンにサーバーを作ろう
CHAPTER 2 サーバーを構築しよう
2-1 サーバーをつくるための流れ
2-2 VirtualBoxをインストールしよう
2-3 Ubuntu Serverをインストールしよう
2-4 仮想マシンの停止と開始
CHAPTER 3 Ubuntuを操作しよう
3-1 サーバーの操作を身につけよう
3-2 ファイル操作を理解しよう
3-3 終了の方法を理解しよう
3-4 ユーザーとグループを理解しよう
3-5 ソフトウェアのインストールと更新
CHAPTER 4 Webサーバーを利用しよう
4-1 サーバーとソフトウェア
4-2 Webサーバーを立てる
4-3 Apacheをインストールする
4-4 Apacheを起動しよう
4-5 IPアドレスを確認しよう
4-6 ブラウザから接続してみよう
CHAPTER 5 リモートから操作できるようにしよう
5-1 SSHでリモートから操作する
5-2 サーバー側のSSHの準備
5-3 クライアント側のSSHの準備
5-4 SSHで接続する
5-5 コンテンツを配置する
5-6 Tera TermやWinSCPでファイル転送する
5-7 ファイアウォールの設定を確認する
5-8 SSHのポートを変更する
CHAPTER 6 Webサーバーの設定を変更しよう
6-1 Apacheの設定ファイルを編集する
6-2 エラーページをカスタマイズしてみよう
6-3 Webサイトへのアクセスを制限する
CHAPTER 7 Webサーバーでプログラムを実行させよう
7-1 Webサーバーでプログラムを動かす
7-2 PHPの環境を整える
7-3 PHPのプログラムを作ってみよう
7-4 ページにリンクを張ったり画像を表示したりしてみよう
CHAPTER 8 Webサーバーを公開・管理しよう
8-1 Webサーバーを公開するために必要なこと
8-2 レンタルサーバーを借りてログインしよう
8-3 ログを確認しよう
8-4 サーバーは正常に動いているのか確認しよう
8-5 バックアップをとろう
8-6 セキュリティに注意しよう
8-7 サーバーに関わる仕事
続きを読む