SSH с su и удаленной командой с использованием -c и запуском нескольких команд с параметрами

Finalmente, encontré una solución funcional:

Primero tienes que cambiar del servidor X -integrado de x2go a uno externo en la pestaña "configuración > X.org -Configuración del servidor". En mi caso sería Xming, ya que estoy en un cliente de Windows. Para un sistema Linux, esto debería funcionar con cualquier versión X (no probada ).

Luego debe agregar las opciones de línea de comando -scrollbars -screen 0 <width of both monitor screens combined> <height of screens>.

Si luego reinicia x2go, debería cargar una ventana de servidor X -del tamaño que especificó y con barras de desplazamiento que le permiten "cambiar" entre monitores. No es lo ideal, pero creo que es tan bueno como parece. Si ahora se conecta a su control remoto de monitor doble, ambos monitores deberían poder caber en esta ventana sin distorsiones.

1
08.10.2017, 20:35
1 ответ

psql (и, как расширение, mysql )имели аналогичные ограничения. Читая документацию по psql, я наткнулся на это

-команда c --команда=команда Указывает, что psql должен выполнить одну командную строку, команду, а затем выйти. Это полезно в сценариях оболочки. Запустить -up файлы (psqlrc и ~/.psqlrc )игнорируются с этой опцией.

Команда

должна быть либо командной строкой, полностью поддающейся анализу сервером (, т. е. не содержащей специфических функций psql -), либо одной командой обратной косой черты. Таким образом, вы не можете смешивать команды SQL и psql meta -с этой опцией. Для этого вы можете передать строку в psql, например :echo '\x \ SELECT *FROM foo;' | psql. (\ — мета-команда-разделитель -.)

Если командная строка содержит несколько команд SQL, они обрабатываются в одной транзакции, если только в строку не включены явные команды BEGIN/COMMIT для разделения ее на несколько транзакций. Это отличается от поведения, когда та же строка подается на стандартный ввод psql. Кроме того, возвращается только результат последней команды SQL.

Из-за такого устаревшего поведения размещение более одной команды в строке -c часто приводит к неожиданным результатам. Лучше подавать несколько команд на стандартный ввод psql, либо используя эхо, как показано выше, либо через оболочку здесь -документ, например:

psql <<EOF
\x
SELECT * FROM foo;
EOF

для моего случая я просто изменил оператор эха

echo drop database if exists somedb; create database somedb;drop table if exists ur_table; CREATE TABLE ur_table (timestamp date, open real, high real,low real,close real,adjusted_close real,volume real,dividend_amount real,split_coefficient real,CONSTRAINT timestamp_pkey PRIMARY KEY (timestamp)); COPY ur_table(timestamp,open,high,low,close,adjusted_close,volume,dividend_amount,split_coefficient) FROM 'c:\test\temp.csv' DELIMITER ',' CSV HEADER;| psql -U postgres
1
27.01.2020, 23:44

Теги

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