rdesktopでwindows11に接続できない場合の解決方法

ubuntuなどのlinuxからWindowsを遠隔操作したい場合は「リモートデスクトップ接続」を使います rdesktop(古い方法) rdesktopというアプリを使いますインストール $ sudo apt install rdesktop リモートデスクトップ接続 rdesktop <windowsのホスト名> これで windows10やwindo</windowsのホスト名>…

emacsでgraphvizで作成した図をリアルタイムでpreviewする

graphviz(dot)の編集は emacs上で org-mode と org-flyimage-mode を連携させると良いです セットアップ Emacsで以下のパッケージを使います org-mode org-babel org-flyimage org-mode の設定 割愛します org-babel の設定 dot コマンドの実行を許可します …

C/C++で文字列を小文字に変換する

C言語またはC++で,文字列を小文字(lower case)に変換する方法です 移植性が高い方法 C99またはC++ならワンライナーで記述できます #include <ctype.h> char str[] = "ABCD"; for (char *p = str ; *p; ++p) *p = tolower(*p); ANSIのtolower関数を使っているので移</ctype.h>…

CUDA用のemacs設定とlspの導入方法

CUDAのプログラムを書くための emacs の設定です cuda-mode まずcuda-modeをインストールします設定はこれだけ (use-package cuda-mode :mode ("\\.cu\\'" "\\.cuh\\'") ) これでCUDA関連の予約語などがhighlight表示されます lsp 関連 clangd 経由でCUDAの…

LinuxにCUDAをインストールする方法(2024年版)

LinuxにCUDAをインストールする方法をまとめます.インストールだけでなく,動作確認として SDK,開発環境が動作すること 作成したプログラムが実行できること まで確認します インストール インストール手順 インストールはNVIDIAのページに書いてある手順…

TeXで論文雑誌やジャーナル名を短縮した略称に差し替える方法

TeX

TeXで文献リスト中の雑誌名やジャーナル名を略称に差し替える方法です 手順1:bibファイルを使う 文献リストには「正しい書き方」というものが存在します.TeXの場合は,書誌情報はbibファイルで管理して,自動処理で「正しい書き方」の文献リストを出力す…

TeXで本文に行番号をつける方法

TeX

TeXで本文に行番号をつける方法です 5行おきに行番号をつける.行は文章全体で数える. 文章の先頭行を1として行を数えたい場合は次のようにします \usepackage[right]{lineno} \runninglinenumbers \modulolinenumbers[5] 5行おきに行番号をつける.行は…

gmail にメールが届かない件とその解決方法

2月1日以降 gmail.com 宛のメールが届かない現象が起きています具体的には,gmail.comのメアドにメールを送っても,エラーのメールが返送されるだけで,相手に届きません.原因は2月からgmail.comが迷惑メール対策を強化したためです以下 gmail.comへメール…

TeXでソースコードを載せる方法

TeX

TeXで文章にプログラムのソースコードを掲載する場合は listings パッケージを使う方法がおすすめです.注意:類似した名前で listing パッケージも存在します.本エントリで紹介するのは末尾に"s"がつく, listings パッケージです 使い方 シンタックスハイ…

TeXで表中で改行する方法

TeX

TeXの表中で改行する方法をまとめます表中のセル内で改行する方法はたくさんあります セルの中で別の表を定義する \makecell を使う tabularx 環境を使う 数箇所だけ改行したい場合は,一番目の方法が便利です改行したいセルが多い場合は,三番目のtabularx …

TeXで表のセルの間隔を詰める方法

TeX

TeXで表のセルの間隔を小さくする方法ですTeXの表の余白は 列方向(カラム方向,水平方向)は \tabcolsep 行方向(ロウ方向,垂直方向)は \tabrowsep で設定できます例えばそれぞれ1ptにする場合は \tabcolsep = 1pt \tabrowsep = 1pt と書くだけですただし…

Linux起動時にNVMe SSDがSMARTエラーを出す件 (解決)

昨年下記のエントリでとりあげたSMARTの監視で「SMART error (ErrorCount) detected on host」というエラーメールが届く件は,smartmontools 7.4 で解決しました.pyopyopyo.hatenablog.com 該当する修正,diff はこれです https://www.smartmontools.org/ch…

tarコマンドのオプションが複雑すぎて覚えらない時は,"tar --help" だけ覚えよう

この記事を読みました.zenn.devこういう時は "--help” オプションを覚えておきましょう. 困ったら "tar --help" ”--help"を指定してtarコマンドを実行します. $ tar --help 使用方法に関するヘルプ(簡易的なマニュアル)が表示されます.先頭を引用する…

emacs25でFailed to verify signatureが出る場合の対処方法

Ubuntu(Bionic Beaver )の emacs(emacs25)で package-list-packages や package-install でエラー( Failed to verify signature)が出る場合の修正方法です 原因 パッケージのgpg署名(066DAFCB81E42C40)の期限切れです 修正方法 修正方法は3つありま…

gpgでWarning: You have entered an insecure passphrase. と警告が出る場合の対処方法

gpgを使っていると Warning: You have entered an insecure passphrase. と言われる場合の対処方法ですこのメッセージは gpg-agent が出力していて パスワードが短い パスワードが単純すぎる(アルファベット文字しか使ってない.記号や数字も混ぜるべき) …

Emacsでelispをデバッグする方法

Emacsでelispをデバッグする方法をまとめます emacs 起動時に elisp でエラーが出る場合 debug-on-error emacs 起動時に elisp でエラーが出る場合は ~/.emacs.d/early-init.el で debug-on-error を t に設定する方法が便利です (setq debug-on-error t) de…

ラズパイからメールを送信する方法(2024年版)

Raspberry Pi から Gmail のメールサーバーを経由してメールを送信する方法です.ラズパイで稼働しているサーバの監視用途,たとえばcrontabのエラー,セキュリティの警告などをメールで通知する用途を想定していますOSはdebian系を使っているものとして,ex…

時刻合わせで ntpd の代わりに systemd-timesyncd を使う方法

サーバーの時刻合わせといえば昔は ntpd 一択でしたが今は systemd の timesyncd もあります両者の違いは以下の通りです ntpd 高機能 NTPサーバーを構築するなら ntpdを使うしかない systemd timesyncd クライント動作のみ.NTPサーバーの構築はできない 軽…

NVIDIA のGPUのクロックを固定する方法

NVIDIAのGPUの動作クロックを固定する方法です。デフォルト設定のGPUは動作クロックが200MHzぐらいから2000MHz(2GHz)ぐらいまで随時変動します。動作クロックが10倍変わると、ベンチマークのスコアも10倍変わります。CUDAや3D描画の性能測定を行う場合はま…

Linuxコンソールのスクリーンセーバーの設定方法

コンソールのスクリーンセーバーの設定方法です 標準コマンドで設定する方法 10分後に画面表示をOFFにする場合は以下のコマンドを実行します setterm -blank 10 数字の単位は「分」です. 0を指定すると,スクリーンセーバーはOFF,つまり画面が常に表示され…

稼働時間が100年を超えたSSD

S.M.A.R.T.のログを見ていたら、Power-On hours(稼働時間)が100年を超えたSSDが見つかりました。smartctl を実行すると $ sudo /usr/sbin/smartctl -a /dev/sda レポートが出力されます smartctl 7.3 2022-02-28 r5338 [x86_64-linux-6.1.0-12-amd64] (loc…

PC復旧作業用にブータブルUSBを作成する方法(2023年版)

データ修復やPCの復旧作業用に,起動可能なUSBフラッシュドライブを用意する方法です. ventoy 現時点(2023年)で一番使いやすいのは ventoy です。 open source つまり無料 インストールが簡単 ISOイメージをコピーするだけでISOイメージから起動できる IS…

シェルスクリプトでターミナルの大きさを調べる方法

bashなどのシェルでターミナルのサイズを取得する方法をまとめます おすすめは tput コマンド tputコマンドを使うのが無難です tput cols でターミナルの横幅 tput lines でターミナルの高さ となります.単位はどちらも文字数です 別解1: $COLUMS と $LIN…

debian(sid)のgrub2にバグがありLinuxがブートしなくなる件

debian(sid)を使っていたら,grub2のバグを踏んで,サーバが起動しなくなりました.顛末をまとめます. バグの内容 apt-get dist-upgrade すると,grub2が壊れて,システムが起動しなくなります! バグは修正済みです 影響を受けるバージョンはGRUB2 2.12か…

C/C++でshellのように"~"や環境変数を展開する方法

bashなどの shell では "~/*" "$HOME/*" はホームディレクトリ以下のファイル名に展開されます.これをC/C++で実装する方法です 実装 wordexp(3) を使います #include <wordexp.h> #include <stdio.h> int main(int argc, char *argv[]) { wordexp_t exp; int flags = 0; int ret</stdio.h></wordexp.h>…

EmacsでmarkdownのTOCを自動生成/自動更新する方法

markdownの目次(Table of contents, TOC)を自動更新する方法です 自動更新する方法は 外部コマンドで随時TOCを更新する方法 gitのhookを使って外部コマンドを自動更新する方法 エディタのプラグインを使う方法 などがあります最後の方法としては,Emacs なら…

Emacsでカーソル下の文字コード(コードポイント・バイト列)を表示する方法

M-x describe-char を使うとカーソル下の文字コード(コードポイント・バイト列)を16進数で確認できます.表でまとめると C-u C-x = M-x describe-char 詳細表示 C-x = M-x what-cursor-position ミニバッファに簡易表示 です.滅多に使わないので,私は M-…

Emacsのperl開発環境(2023年版)

今時 perl なんて使う人がいるんでしょうか?そう思ってたら自分がperlを書く羽目になったのでEmacsのperl環境を更新しました.設定をまとめます lsp-mode lsp (Language server)を設定します.lsp-modeを使います. 手順1: cpan 経由で Perl::LanguageSer…

スピーカーの音質を測定する方法

ピンクノイズを再生して,スマホのアプリで音のスペクトルを確認することで,音の再現性をグラフでチェックします.簡易的ですが,音の違いがグラフで比較でき,便利です.以下,方法をまとめます. /usr/bin/speaker-test (alsa-utils) alsa-utils というパ…

時系列データをグラフでプロットして、アニメーションとして保存する方法

グラフをアニメーション(動画ファイル)で保存する方法ですgnuplotを使います gnuplot の do for 構文 "do for" を使うと簡単にアニメーションが作れます.とりあえずsinカーブをアニメーションさせる例です do for [i=0: 60] { plot sin(x + i/10.*pi) } …