Удаленно программирование

Вы должны использовать идентификаторы для ссылки на компоненты, например, если у вас есть Map и запустите Map.addMapItem(...), к какой карте будет добавлен элемент? С другой стороны, у вас есть дурная привычка: вы используете имена существующих элементов, таких как Item, который уже является типом, в этом случае измените его на item, чтобы избежать путаницы, учитывая, что решение выше:

import QtQuick 2.9
import QtQuick.Window 2.2
import QtLocation 5.12
import QtPositioning 5.12

Window {
    id: window
    visible: true
    width: 640
    height: 480
    title: qsTr("Hello World")
    Plugin {
        id: mapPlugin
        name: "osm"
    }
    function addMarker(latitude, longitude)
    {
        var Component = Qt.createComponent("qrc:///views/marker.qml")
        var item = Component.createObject(window, {
                                              coordinate: QtPositioning.coordinate(latitude, longitude)
                                          })
        map.addMapItem(item)
    }
    Map {
        id: map
        anchors.fill: parent
        plugin: mapPlugin
        center: QtPositioning.coordinate(59.14, 14.15)
        zoomLevel: 14
        Component.onCompleted:addMarker(59.14, 14.15)
    }
}

[ 115] С другой стороны, в маркере вы указываете, что изображение имеет в качестве дочернего элемента другое изображение, считаете ли вы его правильным ?, в этом нет необходимости, поэтому исправленный код маркера:

import QtQuick 2.0
import QtLocation 5.12

MapQuickItem{
    id: marker
    anchorPoint.x: marker.width / 4
    anchorPoint.y: marker.height
    sourceItem: Image{
        id: icon
        source: "marker.png"
        sourceSize.width: 40
        sourceSize.height: 40
    }
}

полный пример находится в следующей ссылке

8
задан EJoshuaS - Reinstate Monica 15 August 2017 в 16:08
поделиться

10 ответов

Одна опция состоит в том, чтобы использовать пакет удаленного редактирования БРОДЯГИ (встроенный в Emacs 22 и более новый, и можно установить его в более старые версии). Каждый раз, когда Вы сохранили свой файл, Emacs отправляет свое содержание по ssh (по умолчанию; конечно, каждая деталь полностью настраивается) к машине Linux. Команды как M-x compile и M-x grep ОСВЕДОМЛЕНЫ О БРОДЯГЕ и выполняются на удаленном хосте.

13
ответ дан 5 December 2019 в 04:31
поделиться

Другой предложили Samba, который не может быть выполнимым на Вашем поле Linux. Хорошая альтернатива должна использовать Dokan SSHFS на Вашем поле Windows для монтирования удаленного каталога по SSH.

5
ответ дан 5 December 2019 в 04:31
поделиться

Я изучил бы непрерывную интеграцию для Вашей среды. Таким образом, можно передать изменения в управлении исходным кодом и иметь действие поля Linux как сервер сборки. У Вас могут быть тесты связанный и другой связанный интересный материал, Вы хотите быть выполненными на сборках.

Обновление 1: Также это могло бы работать на Вас: http://metamod-p.sourceforge.net/cross-compiling.on.windows.for.linux.html (это также стоит попытки, делающей некоторые поиски на подобных инструментах),

6
ответ дан 5 December 2019 в 04:31
поделиться

Вы могли попытаться совместно использовать диск между своими машинами Linux и Windows с помощью Samba или чего-то как этот. Затем Вы могли отредактировать на своих локальных машинах, и файлы сразу будут видимы на удаленной машине, так как диск был бы видим обоим.

Где я работаю, у нас есть все файлы на NFS, который доступен от всех машин Linux и машин Windows. Я не знаю, как трудно это должно настроить это, так как я работаю в крупной корпорации, и IT абстрагирован далеко от меня, но простой диск, совместно использующий, должен быть довольно простым.

2
ответ дан 5 December 2019 в 04:31
поделиться

Это, конечно, выполнимо в энергии. Можно использовать scp://протокол в энергии, чтобы отредактировать удаленные файлы и настроить команду, которая пишет локальную копию. Можно также изменить то, для чего использует энергия программы: сделайте, чтобы сделать, ssh делает вместо этого на Вашем сервере.

Необходимо будет настроить ssh-ключи для хранения этого безболезненным (иначе, Вы будете вводить свой пароль все время), но это довольно легко.

Другая альтернатива должна была бы продвинуть к удаленному repos как часть Вашего делала команду, вместо того, чтобы редактировать удаленно.


Править:

Во-первых, использование scp:// протокол в энергии. От :help netrw-start (или ниже на страницу от :help scp)

Netrw поддерживает "прозрачное" редактирование файлов на других машинах с помощью URL (см. |netrw-прозрачный |). Как пример этого, давайте предположим, что у Вас есть учетная запись на некоторой другой машине; если можно использовать scp, попробуйте:

vim scp://hostname/path/to/file

Хотите сделать ssh/scp легче использовать? Проверьте |netrw-ssh-hack |!

Можно также использовать scp:// пути в :edit команды, или действительно где угодно, что Вы могли использовать обычный тракт.

И, от упомянутого :help netrw-ssh-hack, инструкции относительно того, как настроить Ваши ssh ключи:

УЛУЧШЕНИЕ ПРОСМОТРА *netrw-listhack * * netrw-ssh-hack* { {{ 2

Особенно с удаленным браузером каталога, постоянно вводя пароль утомительно.

Для систем Linux/Unix книга "Взломы Сервера Linux - 100 промышленных подсказок по силе и инструменты" Rob Flickenger (O'Reilly, ISBN 0-596-00461-3) дает подсказку для установки ssh без паролей и scp и обсуждает связанные проблемы безопасности. Это раньше было доступно по http://hacks.oreilly.com/pub/h/66, но по-видимому что адрес теперь перенаправляется к некоторому "hackzine". Я буду делать попытку сводки на основе той статьи и на коммуникации от Ben Schmidt:

(1) Генерируйте пару "открытый/закрытый ключ" на локальной машине (ssh клиент):

  ssh-keygen -t rsa

(сохранить файл в ~/.ssh/id_rsa, как запрошено)

(2) Просто совершите нападки при просьбе относительно пароля (дважды) ни для какого пароля. При использовании пароля необходимо будет также использовать ssh-агент, таким образом, только необходимо будет ввести пароль однажды на сессию. Если Вы не будете использовать пароль, просто входя в систему, то Ваш локальный компьютер или получая доступ к файлу ключей всегда будет достаточен для доступа к любым ssh серверам, которые имеют тот ключ, авторизованный для входа в систему.

(3) Это создает два файла:

  ~/.ssh/id\_rsa
  ~/.ssh/id\_rsa.pub

(4) На целевой машине (ssh сервер):

 cd
 mkdir -p .ssh
 chmod 0700 .ssh

(5) На Вашей локальной машине (ssh клиент): (одна строка)

 ssh {serverhostname} cat '>>' '~/.ssh/authorized\_keys2' < ~/.ssh/id_rsa.pub

или, для OpenSSH, (одна строка)

 ssh {serverhostname} cat '>>' '~/.ssh/authorized\_keys' < ~/.ssh/id_rsa.pub

Можно проверить его с

 ssh {serverhostname}

и необходимо быть, входят в систему машина сервера без дальнейшей потребности ввести что-либо.

Если Вы решили использовать пароль, сделайте:

 ssh-agent $SHELL
 ssh-add
 ssh {serverhostname}

Вам предложат Ваш ключевой пароль, когда Вы будете использовать, ssh-добавляют, но не впоследствии, когда Вы используете ssh. Для использования с энергией можно использовать

 ssh-agent vim

и, когда затем в энергии, использовать

 :!ssh-add

С другой стороны, можно применить ssh-агент к терминалу, в котором Вы являетесь планированием рабочей энергии:

 ssh-agent xterm &

и действительно ssh-добавьте каждый раз, когда Вам нужно.

Для Windows люди в списке рассылки энергии упомянули, что Театрализованное представление помогает с предотвращением постоянной потребности ввести пароль.

Kingston Fung записал о другом способе постоянно стараться не должным быть ввести пароли:

Для предотвращения потребности ввести в пароле для scp каждый раз, когда Вы обеспечиваете взлом в документах для установки не пароля ssh учетная запись. Я нашел лучший способ сделать это: Я могу использовать обычную учетную запись ssh, которая использует пароль для доступа к материалу без потребности ввести пароль каждый раз. Это хорошо для безопасности и удобства. Я попробовал ssh авторизацию с открытым ключом + ssh-агент, реализовав это, и это работает! Вот две ссылки с инструкциями:

Для того, чтобы сделать в удаленных системах, необходимо установить Ваш makeprg переменная, чтобы сделать ssh делает. От :help makeprg

Программа для использования для ": сделайте" команду. Посмотрите |: make_makeprg |. Эта опция может содержать '%' и '#' символы, которые расширены до текущего и альтернативного имени файла. |: _ % | |: _ # | Переменные среды расширены |: set_env |. Посмотрите |option-обратную-косую-черту | о включении пробелов и обратных косых черт.

Обратите внимание, что '|' должен быть оставлен дважды: однажды для ": набор" и однажды для интерпретации команды. Когда Вы используете фильтр, названный "myfilter", делают это как это:

 :set makeprg=gmake\ \\\|\ myfilter

Заполнитель "$*" может быть дан (даже многократно) для определения, где аргументы будут включены, например:

 :set makeprg=latex\ \\\\nonstopmode\ \\\\input\\{$*}

Эта опция не может быть установлена от |modeline | или в |sandbox | из соображений безопасности.

25
ответ дан 5 December 2019 в 04:31
поделиться

Почему Вы запускаете X-сервер в Windows? Лично, я настроил бы VM Linux с VMware или независимо от того, что Ваша любимая технология VM (VMware свободен и работает хорошо). Затем выберите любой дистрибутив Linux, который Вы хотите. Вам просто нужны очень простые функции, главным образом стандартный "набор инструментальных средств". Вы могли выбрать Centos, Ubuntu, Fedora, Debian, безотносительно. Я обычно использую Centos или Debian. Настройте его и просто используйте PuTTY в Ваш VM. Оттуда, Вы можете scp файлы к своему удаленному серверу и т.д. Таким образом, Вы не должны беспокоиться cygwin или X-сервером или любым из этого.

2
ответ дан 5 December 2019 в 04:31
поделиться

Можно ли просто использовать долю самбы, чтобы сохранить файлы непосредственно на удаленной машине? Я часто делаю PHP этот путь.

Затем просто имейте окно шпаклевки, открытое для команд выполнения на удаленном поле.

Или я пропускаю что-то?

1
ответ дан 5 December 2019 в 04:31
поделиться

Установите систему управления исходным кодом и используйте ее. Затем можно просто сделать фиксацию после сохранения в IDE, и на сервере у Вас может быть что-то происходящее на фиксации.

Это может инициировать тесты, сборку, почта любые ошибки Вам...

1
ответ дан 5 December 2019 в 04:31
поделиться

Одно решение могло бы состоять в том, чтобы иметь своего рода приложение опроса, которое проверяет метку времени на файлах, чтобы видеть, изменились ли они. Если они имеют, затем заставляют это сохранять и затем компилировать. Вид hackish этот путь, но это было бы осуществимо.

0
ответ дан 5 December 2019 в 04:31
поделиться

Я лично использую XMing с PuTTY. Я ssh использование PuTTY, в то время как XMing работает. Я могу открыть любого редактора (gvim, emacs, gedit, и т.д.), и это появится.

Необходимо будет сделать некоторую установку на PuTTY хотя:

  1. Разверните соединение
  2. Разверните SSH
  3. Нажмите на X11
  4. Проверьте, "включают передачу X11"
  5. В текстовом поле для местоположения дисплея войдите (без кавычек): "localhost:0"
  6. Сохраните сессию и подключение.
0
ответ дан 5 December 2019 в 04:31
поделиться