Skip to content

Instalacja Espanso na Wayland

Posted on:17 października 2023 at 12:27
Reading TIme:3 min czytania
Feature Image for  Instalacja Espanso na Wayland

Espanso jest wieloplatformowym programem do rozwijania tekstu, z którego często korzystałem pod Windows 11, ale nie chciało działać na Ubuntu 23.04. Spieszę się z instrukcją, jak skompilować i uruchomić ten program na podstawie następcy X11 - Wayland

W czym problem?

Jak wspomniałem jakiś czas temu:

nie współpracuje zarówno z Ubuntu 23.04 jak z innymi systemami, które działają na podstawie Wayland (nowsza wersja graficznego serwera X11). Jasne, można zainstalować ręcznie DEB’a, jak i skompilować .. ale problem jest z brakiem spełnionych zależności.

Czym jest Espanso?

Espanso jest wieloplatformowym programem do rozwijania tekstu (text-pander). Pozwala on na zastępowanie skrótów klawiszowych dłuższymi fragmentami tekstu

np: :date zamienia na 2023/09/26

Może mieć wpływ na zwiększenie wydajności i komfortu pisania. Jest konfigurowany za pomocą prostych plików YAML, które pozwalają na tworzenie własnych skrótów i reguł.

Przykładowa konfiguracja

matches:
  # Outputs the current weather for your location
  - trigger: ":weather"
replace: "{{output}}"
vars:
  - name: output
type: shell
params:
cmd: "curl 'http://wttr.in/gniezno?format=3'"
shell: zsh

To jedno z głupszych przykładów, ale zanim zabierzemy się za własne skonfiguracje, warto zajrzeć na EspansoHub i sprawdzić, czy ktoś nie wpadł na podobny pomysł. Instalacja paczki sprowadza się do wydania polecania espanso install <paczka> .

Nic prostszego.

Poprawne zbudowanie aplikacji w Ubuntu 23.04

1. Instalacja zależności

sudo apt install build-essential git wl-clipboard libxkbcommon-dev libdbus-1-dev libwxgtk3.2-dev libssl-dev

2. Instalacja cargo

Czym jest Rust i Cargo?

Kod Espanso jest stworzony w języku Rust, zapewniający wysoką wydajność i niezawodność a także ma aktywną społeczność, która mocno działa na rzecz rozbudowy ekosystemu wokół Rust. Cargo jest odpowiednikiem narzędzi takich jak Make, służący do zarządzania pakietami i automatyzuje proces budowania aplikacji

zatem:

sudo apt install curl
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source $HOME/.cargo/env

3. Kompilacja Espanso ze źródeł i instalacja

Cały proces wprowadza sie do ściągnięcia źródeł z repozytorium i kompilacji, która potrwa jakieś 5-10 minut (czyli idealnie na kawę).

git clone https://github.com/federico-terzi/espansocd espanso
cd espanso

### zwróć uwagę na flagę `NO_X11`, co oznacza jest kompilujemy pod Wayland
cargo make --profile release --env NO_X11=true build-binary

Po zbudowaniu należy zainstalować w systemie, uruchomić usługę a następnie przyznać odpowiednie uprawnienia.

Ale uwaga, warto upewnić się, czy w systemie nie ma jakis paczek Espanso. W moim przypadku tak było (o czym pisałem tutaj) i musiałem po prostu usunąć SNAPa:

sudo setcap "cap_dac_override+p" $(which espanso)
Invalid file '/snap/bin/espanso' for capability operation

sudo rm -rf /snap/bin/espanso

Zatem “instalacja” i uruchomienie wygląda następująco:

sudo mv target/release/espanso /usr/local/bin/espanso
sudo setcap "cap_dac_override+p" $(which espanso)
espanso service register
# Start espanso
espanso start

Warto zajrzeć do pomocniczych komend:

 espanso --help
espanso 2.2.0
Federico Terzi
A Privacy-first, Cross-platform Text Expander

USAGE:
espanso [FLAGS] [SUBCOMMAND]

FLAGS:
-h, --help       Prints help information
-v               Sets the level of verbosity
-V, --version    Prints version information

OPTIONS:


SUBCOMMANDS:
cmd           Send a command to the espanso daemon.
edit          Shortcut to open the default text editor to edit config files
env-path      Add or remove the 'espanso' command from the PATH
help          Prints this message or the help of the given subcommand(s)
install       Install a package
log           Print the daemon logs.
match         List and execute matches from the CLI
migrate       Automatically migrate legacy config files to the new v2 format.
package       package-management commands
path          Prints all the espanso directory paths to easily locate configuration and matches.
restart       Restart the espanso service
service       A collection of commands to manage the Espanso service (for example, enabling auto-start on system
boot).
start         Start espanso as a service
status        Check if the espanso daemon is running or not.
stop          Stop espanso service
uninstall     Remove a package
workaround    A collection of workarounds to solve some common problems.

Podsumowanie

Cieszę się, że komentarz od Samuela przyniósł oczekiwane rezultaty i wreszcie mogę korzystać z narzędzia, do którego przyzwyczaiłem się będąc użytkownikiem Windows 11. Istotną zaletą aplikacji jest uniwersalność konfiguracji, którą można migrować niezależnie od platform.

No dobra, problem pojawi się przy mocno zaawansowanej konfiguracji, która opiera się na API, charakterystycznych dla danego systemu operacyjnego. Myślę, że jest to kwestia czasu, kiedy to WSL pośle pościwego CMD’a na zasłużoną emeryturę.

Źródła



Możesz napisać do mnie e-mail lub wyszukać mnie na Mastodonie.
Loading...