tl;dr
- 設定ファイルを直接書き換えましょう
概要
MacのSlackアプリで、ログインしているチームを削除(ログアウト)したい場合、以下の2つの方法があります
- チームメニューの一番下の
Sign out of XXX
を選ぶ
- チームアイコン右クリックから
Remove XXX
を選ぶ
しかし、後者の方はどうもバグ的な挙動でアプリを再起動するとチームが復活します。
なので、前者の方法を行えばいいのですが、チームからアカウントが削除されると前者のサインアウトメニューは出せなくなってしまいます。
対処方法
直接設定ファイルを書き換えるしか方法がなかったので、それを行います。
作業を始める前にSlackアプリを終了しておいてください。
また、ファイルを編集する前にかならずバックアップを取っておいてください。
Slackのアプリのデータは以下のフォルダに保管されています。
~/Library/Containers/com.tinyspeck.slackmacgap/Data/Library/Application Support/Slack/
その中の、storage
フォルダ内に以下のような構成でログインしているチーム情報が保管されています。
- slack-appTeams: ログインしているチームのID、起動時に選択されるチームのID
- slack-teams: ログイン情報以外のデータ(自身のアカウントのID、テーマ、URL、アイコンなど)
この2ファイルから該当チームのデータを削除することで、ログインチーム一覧に表示されなくなります。
チームIDの検索とslack-teamsからの削除
はじめに、slack-teams
のファイルからチームデータの削除とチームIDのメモを行います。
このファイルはjsonで、以下のようなフォーマットで情報が保管されています。
{
"[TEAM-ID1]":{
チームの情報
},
"[TEAM-ID2]":{
チームの情報
},
"[TEAM-ID3]":{
チームの情報
}
.
.
}
チーム情報の中にxxx.slack.com
という文字であったり、チーム名が記載されているので、検索し、チームIDをメモします。
チームIDは、各チーム情報のKeyとなっている他、team_id
の値としても保管されています。id
は個人のアカウントのIDなので注意です。
IDをメモしたら、このファイル内から該当チームの項目をごそっと削除します。
上の例の中からTEAM-ID2のものを削除するなら、
{
"[TEAM-ID1]":{
チームの情報
},
- "[TEAM-ID2]":{
- チームの情報
- },
"[TEAM-ID3]":{
チームの情報
}
.
.
}
この部分を削除してください。
slack-appTeamsからの削除
次に、slack-appTeams
からもチームのIDを消します。
こちらのファイルの構造は以下のようになっています。
{
"selectedTeamId": "[TEAM-ID1]",
"teamByIndex": [
"[TEAM-ID1]",
"[TEAM-ID2]",
"[TEAM-ID3]",
.
.
]
}
この中から、teamByIndex
のリストの中にある該当チームの項を削除してください。
また、仮にselectedTeamId
の方にも書かれていた場合は、他の適当なチームのIDに書き換えておいてください。
-
完了後、Slackを起動すると対象のチームが一覧から消えているはずです。