EDITAR: Resulta que pude resolver parcialmente mi propio problema; no estoy seguro de los detalles particulares, pero que yo sepa, la creación / edición ~/.bash_profilesimplemente hace que Terminal ejecute scripts en ese archivo automáticamente cuando se inicia. Parece que ~/.bashrcotros archivos hacen cosas similares pero diferentes, pero no conozco los detalles. Lo que hice para arreglar fue editar mi .bash_profilearchivo existente y agregar la export GPG_TTY=$(tty)línea al final. Esto solucionó GPG / git en la Terminal.

El título puede ser confuso, así que déjenme explicar un poco.

Mi código a partir de ahora es así:

#!/bin/bash

clear

echo "This script fixes errors with ioctl in GPG."

export GPG_TTY=$(tty)

La última línea ayuda con la solución ( problema detallado aquí ; solución utilizada ), pero tengo que ejecutarla varias veces, cada vez que vuelvo a abrir una nueva ventana de Terminal. Aunque el script puede no ser necesariamente más rápido que simplemente escribirlo, todavía me ayudaría.

A partir de ahora, el resultado es que abre una nueva ventana en Terminal, con el resultado de esta manera:

 This script fixes errors with ioctl in GPG.
 logout
 Saving session...
 ...copying shared history...
 ...saving history...truncating history files...
 ...completed.

 [Process completed]

Esto no ayuda con ninguna de las otras ventanas que estoy usando, entonces, ¿hay alguna manera de hacer que esta solución se aplique a otras ventanas o se abra en la última ventana de terminal utilizada?

Además, ¿hay una solución permanente para ioctl para GPG, o hay una manera de ejecutar automáticamente este script cada vez que abro una nueva ventana de Terminal, o cuando uso un comando que usa GPG (por ejemplo, git commit)?

¿Estoy obligado a ingresar el código manualmente o usar un archivo de script para hacer esto?

Esta puede ser una pregunta mala o simple, pero me gustaría hacerla de todos modos.

Gracias por adelantado.

Vangelis
fuente