Pop OS alt + f4 не работает для определенных приложений

Escribí un script de python(enlace esencial)que verifica todos los paquetes de python si se instalaron con pacman.

instalación

Descarga el script y hazlo ejecutable:

$ wget https://gist.github.com/hoefling/314565368a66c308b4d7d407a3028cb7/raw/7b81553fa0a84b92a90fbaa0746482d0ec18516c/pip-query -O pip-query
$ chmod +x pip-query

uso

Aquí hay un ejemplo llamándolo en un contenedor acoplable base/archlinuxdonde he instalado python-pipypython-wheel:

$./pip-query
Package    Version Owner
---------- ------- -----------------
appdirs    1.4.3   python-appdirs
packaging  17.1    python-packaging
pip        9.0.1   python-pip
pyparsing  2.2.0   python-pyparsing
setuptools 39.2.0  python-setuptools
six        1.11.0  python-six
wheel      0.31.1  python-wheel

La salida se parece a la salida de pip list --format=columns, pero con una columna adicional Ownerque imprime el nombre del paquete del sistema que posee el paquete python.

Probemos con un paquete instalado directamente conpip:

$ sudo pip install tqdm
...
$./pip-query
Package    Version Owner
---------- ------- -----------------
appdirs    1.4.3   python-appdirs
packaging  17.1    python-packaging
pip        9.0.1   python-pip
pyparsing  2.2.0   python-pyparsing
setuptools 39.2.0  python-setuptools
six        1.11.0  python-six
tqdm       4.23.4
wheel      0.31.1  python-wheel

La columna Ownertiene una celda vacía en la fila tqdm, esto indica que tqdmno fue instalado por pacman. Desinstalar tqdmconpip:

$ sudo pip uninstall -y tqdm

e instalarlo conpacman:

$ pacman -S python-tqdm

instalación permanente

Si lo desea, coloque el archivo pip-queryen algún lugar de su PATH, preferiblemente algo local como $HOME/.local/binpara llamarlo como un ejecutable adecuado con

$ pip-query

adaptando para otros administradores de paquetes

Debería ser bastante fácil adaptar el script para usarlo con otros administradores de paquetes si lo desea. Por ejemplo, si cambio ['pacman', '-Qqo', file]a ['qfile', '-q', file], el script funcionará en Gentoo sin más modificaciones *. Si su administrador de paquetes no admite la impresión pura del nombre del paquete, extraiga la información relevante de la cadena outcon expresiones regulares o lo que sea.

paquetes de reinstalación por lotes conpacman

Puede modificar pip-query, o seguir la filosofía de Unix y escribir algún comando bash que haga la reinstalación por usted. Sin embargo, debe lidiar con varias sugerencias hechas porpacman(como en el siguiente ejemplo )e implementar el caso cuando no se sugirió nada. Aquí está mi humilde intento (no un experto en bash):

$./pip-query | tail -n +3 | while read line ; do split=(${line}); \
> if [ "${#split[@]}" -eq "2" ]; then pkgname=${split[0]}; \
> echo -e "Suggestion: pip uninstall -y $pkgname && pacman -S $(pacman -Sspq $pkgname | tr '\n' ' ')"; \
> fi; done
Suggestion: pip uninstall -y tqdm && pacman -S python-tqdm python2-tqdm

Mejore esto y tendrá una solución automatizada para la tarea de reinstalación.


*:suponiendo que app-portage/portage-utilsemerja.

3
09.07.2019, 23:10
1 ответ

Значит, проблема была вот в чем :Команда по умолчанию для закрытия приложений — Super+W. Мне пришлось изменить ее на Alt + f4

3
27.01.2020, 21:24

Теги

Похожие вопросы