2021年2月28日日曜日

Ubuntuでhostnameを変更したら起動できなくなった

@Ubuntu20.04

アレクサがPC名を呼ぶのがうるさい 

Alexaをスピーカとして使っているのですが、Bluetooth接続したときに「(PC名)に接続しました」と言ってくれるのが困っています。この設定はOFFにできないらしく、解決方法としては、PC名を極力短くする、というものが紹介されていました。

https://linuxconfig.org/how-to-change-hostname-on-ubuntu-20-04-focal-fossa-linux

ここで紹介されていた方法で、

$ sudo hostnamectl set-hostname

sudoedit /etc/hosts

で名前を変更しました。

hostnamectl

で出力される名前は確かに変更されました。

・・・しかしAlexaの呼ぶ名前は変わっていません。

再起動してみる

シャットダウンして、起動してみました(Ubuntu20.04は再起動はエラーになるので)が、より深刻な雰囲気になって起動してくれません。

最終的に出ているエラーメッセージは下記と同じでした。

A start job is running for Hold until boot process finishes up (xxx min xxx s/no limit)

https://www.reddit.com/r/Ubuntu/comments/g6ybsd/ubuntu_2004_lts_unable_to_boot_due_to_a_start_job/

・・・ずっと待っていましたがどうにもならなくなったので、シャットダウンして、
リカバリーモードでrootに入って、先程のコマンドを逆にやって、名前を戻しました。無事に起動できました。戻せてよかった・・・。

結局、アレクサはうるさいまま・・・。言う内容を変えられたらいいんですけどね。

https://www.reddit.com/r/amazonecho/comments/egy57z/how_do_i_stop_alexa_from_saying_playing_from_s/



2021年2月2日火曜日

Pythonで文字を分割するデリミタを複数使う

文字列を分割したいのですが、デリミタに\tと\nが混ざっているようなときの方法です。
\n\n\t\t\t日付\n\t\t\n14月\n15火\n16水\n17木\n18金\n19土\n20日\n を\nか\tで分割するときを考えます。


string = '\n\n\t\t\t日付\n\t\t\n14月\n15火\n16水\n17木\n18金\n19土\n20日\n'


import re
print(re.findall(r"[\w']+", string))

ということで、正規表現で\tか\nで分割するようにすればできます。


https://stackoverflow.com/questions/1059559/split-strings-with-multiple-delimiters