Вы можете сделать что-то подобное с extrakto:
prefix + tab
, чтобы начать экстракто tab
чтобы вставить его в текущую панель, enter
, чтобы скопировать его в буфер обмена, ctrl-o
, чтобы открыть путь/адрес, или ctrl-e
для редактирования с помощью$EDITOR
Я делаю что-то подобное на своем ПК с Mint, хотя я запускаю этот скрипт вручную после входа в систему. Я обнаружил, что проще использовать xdg -open с файлами.desktop; таким образом, если команда когда-либо изменится, мой сценарий все равно будет работать. Также обратите внимание, что мне не нужно указывать обратное -заземление команды (с помощью &):
#!/bin/bash
#### This script configures my desktop and other settings ####
SYSTEM_DIR=/usr/share/applications
USER_DIR=$HOME/.local/share/applications
#### Start my preferred programs ####
xdg-open $SYSTEM_DIR/google-chrome.desktop
xdg-open $USER_DIR/org.gnome.Evolution.desktop
xdg-open $SYSTEM_DIR/homebank.desktop
xdg-open $USER_DIR/org.libreoffice.LibreOffice.desktop
xdg-open $USER_DIR/virt-manager.desktop
xdg-open $USER_DIR/rhythmbox.desktop
xdg-open $SYSTEM_DIR/FAHControl.desktop
#### End start preferred programs ####
Вы можете добавить небольшую задержку в начале сценария на тот случай, если вашей системе потребуется некоторое время для завершения входа в систему.
Ладно, это оказалось сложнее, чем я думал.
Проблема была простой :проблема была вызвана export DISPLAY=:0.1
.
Это попытка 3-го пункта в списке :Запустить Notepad++ на 2-м дисплее .
Покопавшись, я нашел следующий пост:Размещение окна при переключении на несколько мониторов(Который ссылается наhttps://icyrock.com/blog/tag/xdotool/).
В итоге мой файл теперь выглядит так:
#!/usr/bin/env bash
env WINEPREFIX="/home/<user>/.wine" wine C:\\windows\\command\\start.exe /Unix /home/<user>/.wine/dosdevices/c:/ProgramData/Microsoft/Windows/Start\ Menu/Programs/Notepad++.lnk &
sleep 1
export DISPLAY=:0.0
/usr/bin/thunderbird &
sleep 1
export DISPLAY=:0.0
/usr/bin/google-chrome-stable &
sleep 3
# move to 2nd monitor
# https://icyrock.com/blog/tag/xdotool/
# https://unix.stackexchange.com/questions/96066/window-placement-when-switching-to-multiple-monitors
wid=`xdotool search --name Notepad++|head -1`
max_state=`xprop -id $wid _NET_WM_STATE`
wmctrl -ir $wid -b remove,maximized_vert,maximized_horz
eval `xdotool getwindowgeometry --shell $wid`
new_x=1600
if [[ "$X" -ge "$new_x" ]]; then
new_x=0
fi
xdotool windowmove $wid $new_x $Y
if [ -z "${max_state/*_NET_WM_STATE_MAXIMIZED_*/}" ]; then
wmctrl -ir $wid -b add,maximized_vert,maximized_horz
fi
xdotool windowraise $wid
Теперь все работает нормально.
Notepad++ теперь запускается первым, чтобы дать ему время для инициализации, а затем перемещается на второй дисплей.