Ubuntu22.04LTSにCursorをいれる際、公式推奨だとAppImageで入れることになります。
が、最初は良くても毎回毎回AppImageを展開するのはどうも文化的ではないような気がします。
というわけで、こいつを通常のアプリと同様ランチャーで起動できるようにし、ついでにアイコンもちゃんと読み出すようにします。
実際のところ
単純にlnで紐付けするだけだとコマンドライン以外で呼べない上、アイコンもつかんのでアプリランチャーに認識できるように登録してみます。
#!/bin/bash # 設定ファイルのパスを指定 APPIMAGE_PATH="$HOME/path/to/cursor-0.42.4x86_64.AppImage" DESKTOP_FILE="$HOME/.local/share/applications/cursor.desktop" ICON_DIR="$HOME/.local/share/icons" ICON_FILE="$ICON_DIR/cursor.png" BIN_LINK="/usr/local/bin/cursor" # 必要なディレクトリの作成 mkdir -p "$ICON_DIR" mkdir -p "$HOME/.local/share/applications" # AppImageに実行権限を付与 chmod +x "$APPIMAGE_PATH" # アイコンの抽出と設定 if [ ! -d "squashfs-root" ]; then "$APPIMAGE_PATH" --appimage-extract fi # アイコンのコピー if [ -f "squashfs-root/usr/share/icons/hicolor/256x256/apps/cursor.png" ]; then cp "squashfs-root/usr/share/icons/hicolor/256x256/apps/cursor.png" "$ICON_FILE" echo "アイコンをコピーしました" fi # デスクトップエントリの作成 cat << EOF > "$DESKTOP_FILE" [Desktop Entry] Version=1.0 Type=Application Name=Cursor Editor Comment=Modern IDE powered by AI Exec=$APPIMAGE_PATH Icon=$ICON_FILE Terminal=false Categories=Development;IDE;TextEditor; MimeType=text/plain;text/x-python;text/x-java;text/x-c;text/x-c++; StartupWMClass=Cursor EOF # デスクトップファイルに実行権限を付与 chmod +x "$DESKTOP_FILE" # システムワイドなコマンドとしてシンボリックリンクを作成 echo "システムワイドなコマンドを設定します。パスワードを要求される場合があります。" sudo ln -sf "$APPIMAGE_PATH" "$BIN_LINK" sudo chmod +x "$BIN_LINK" # システムのキャッシュを更新 update-desktop-database "$HOME/.local/share/applications" gtk-update-icon-cache -f -t "$ICON_DIR" # バックアップ用のスタートアップスクリプトを作成 cat << EOF > "$HOME/.config/autostart/cursor-setup.desktop" [Desktop Entry] Type=Application Name=Cursor Setup Exec=update-desktop-database $HOME/.local/share/applications && gtk-update-icon-cache -f -t $ICON_DIR Hidden=false NoDisplay=false X-GNOME-Autostart-enabled=true EOF echo "セットアップが完了しました。以下の点を確認してください:" echo "1. 'cursor' コマンドがターミナルで使用可能" echo "2. アプリケーションメニューにCursorが表示される" echo "3. アイコンが正しく表示される" echo "" echo "問題が発生した場合は、以下のコマンドを実行してください:" echo "update-desktop-database ~/.local/share/applications" echo "gtk-update-icon-cache -f -t ~/.local/share/icons" echo "" echo "システムを再起動することをお勧めします。" # cleanup read -p "展開したsquashfs-rootディレクトリを削除しますか? (y/N): " response if [[ "$response" =~ ^[Yy]$ ]]; then rm -rf squashfs-root echo "squashfs-rootディレクトリを削除しました" fi
無事にいくと、起動したらアイコンがちゃんとつくようになります。