La meilleure configuration pour le développement de Linux à partir de Windows?
Quelle est la meilleure configuration pour le développement de Linux applications à partir d'un poste de travail de Windows? Droit maintenant, je suis connecté via SSH à notre développement Linux serveur et je suis à l'aide d'Eclipse, envoyé via SSH via PuTTY, pour le domaine public de la version de Xming fonctionne sur mon poste de travail Windows. Cela fonctionne, mais ce n'est pas grand; Eclipse est temps de réponse sont loin d'être accrocheur (bien pire que Eclipse s'exécutent en mode natif sur mon beaucoup plus lent poste de travail Windows), je ne peux pas redimensionner certaines boîtes de dialogue, et je n'ai pas trouvé une bonne façon de reconfigurer mes polices.
Est-il mieux d'installation disponible?
Edit: C'est pour le développement C/C++.
Vous devez vous connecter pour publier un commentaire.
Options pour Linux sur Windows:
Outils
Donné que vous utilisez Eclipse, je vais supposer que vous désirez IDE, mais si vous pouvez vous en tirer avec juste GNU/Linux, il y a un peu de choix.
Linux dans un Processus de Windows
Il y a plusieurs paquets qui utilisent Linux comme un processus de Windows, sans simulant tout un PC que la virtualisation n'. Ils utilisent Coopérative Linux, une.k.un. les commandes colinux, qui est limitée pour les systèmes 32 bits. Ceux-ci n'ont pas les frais généraux de la virtualisation, et ils démarrent plus rapidement puisque vous n'êtes pas le démarrage d'un PC virtuel. C'est un peu plus sur le côté expérimental et peuvent ne pas être aussi stable que certaines des options de virtualisation.
Virtualisation
Des logiciels de virtualisation vous permet de démarrer un autre système d'exploitation dans un PC virtuel, qui partage le matériel avec le système d'exploitation hôte. C'est assez essayé-et-vrai. Il y a des options de nice ici pour prendre des instantanés de votre PC Virtuel dans un état particulier, de suspendre/reprendre un PC virtuel, etc. C'est agréable d'être en mesure d'expérimenter avec un PC virtuel, ajouter un peu de paquets, puis revenir à une ancienne instantané et "start clean".
Dans mon cas...
Ressemble votre environnement a différentes caractéristiques de performance, mais voici ma situation: j'ai commencé avec Eclipse sur mon ordinateur portable Windows (faire Rails du développement), a trouvé cette lente, et sont passés à l'aide de putty ssh dans un fast-Linux. Je fais mon montage via emacs en cours d'exécution sur le serveur Linux, affiché sur Windows à l'aide de Xming. Ou j'utilise natif emacs sous Windows, de la modification des fichiers partagés par NFS. Ce dernier est plus lent dans mon environnement en raison de l'atonie de la sauve.
Lorsque vous travaillez de la maison, j'fossé X parce que c'est trop lent avec des clients distants, et il suffit d'exécuter
emacs -nw
dans un mastic de fenêtre. J'ai ensuite utiliser GNUscreen
alors que j'ai plusieurs "fenêtres", et donc que je peux facilement reprendre là où j'ai laissé si ma connexion réseau flocons dehors.La meilleure approche que j'ai trouvé est de:
Je sais que ce n'est pas une réponse directe, mais en utilisant un IDE pour le développement par le biais de X est douloureux avec la plupart des outils gratuits. La seule façon que j'ai été productif en faisant le travail de cette façon, quand j'étais de l'exécution d'un UNIX-like sur mon bureau, de sorte que X était natif. Si vous allez utiliser cette approche, essayez un commercial X solution sur le bureau.
Autre que cela, considérons un amerrissage forcé de l'IDE et de faire de votre développement et de débogage via SSH, un terminal de l'éditeur (par exemple, vi, pico, ee, emacs), faire/ant, et gdb.
La meilleure approche pour vous va être portée par votre langage de programmation et le type d'application que vous êtes en développement. Si vous faites des applications GUI, puis à l'aide de X peut-être la seule approche qui est acceptable. Si vous faites de back-office/démon du développement, puis de la SSH et le terminal approche sera probablement fonctionner, cependant, vous voulez probablement obtenir vraiment à l'aise avec soit vi ou emacs.
MODIFIER: juste remarqué que vous faites développement C/C++. Envisagez l'utilisation d'une croix le cadre de la plateforme si vous n'êtes pas déjà. En utilisant quelque chose comme Qt, APR, ACE, ou Poco devrait permettre de développer nativement sous Windows avec un déploiement/debug étape de votre environnement Linux.
Pour le développement, j'ai l'habitude d'utiliser une machine virtuelle Linux sur ma machine Windows. Il va probablement envoyer les utilisateurs de Linux en cours d'exécution pour la salle de bain pour se laver les mains, mais je fais tout de mon développement dans Visual Studio, et j'ai un personnalisé Visual Studio plugin qui appelle G++ grâce à la machine virtuelle et les tuyaux de la sortie dans le VS de la fenêtre de sortie. Avec un système de changement rapide d'une zone de liste modifiable, je peux construire et de tester pour Windows ou Linux.
Un facile à installer l'option serait d'exécuter Eclipse nativement dans windows, mais de déployer le code via un partage Samba sur la machine Linux (que vous pouvez monter comme un autre lecteur) (ou SSH/SCP si SMB n'est pas une option), puis il l'exécuter via la console SSH.
Une autre configuration de l'option est de simplement développer sur Linux via freenx ou un outil similaire au lieu d'une pleine soufflé X session, cochez cette réponse: https://serverfault.com/questions/11367/remote-desktopping-from-windows-to-linux/11372#11372
Les autres options (Virtualisation, Linux en cours d'exécution à l'intérieur de windows, Cygwin) sont en effet valables mais qui ont leurs inconvénients, comme étant plus machine exigeante, plus difficile à configurer, ou pas assez équivalent à la réalité de l'environnement linux, mais il peut très bien être utile de votre temps si vous avez la machine et le scénario justifie leur utilisation.
Tout faire côté Linux aura toujours quelques inconvénients
si votre machine Windows.
Personnellement, j'ai une machine sous Linux, où tout le monde a des Fenêtres et
ne Windows dev à l'intérieur d'une VM, mais il a chiffré le coût de moi beaucoup de RAM et de certains de configuration du réseau douleurs.
Il y a plusieurs solutions, je le recommande No 1
Vous pouvez utiliser un outil comme Vagrant. Vagrant est un outil pour la construction et la gestion des environnements de machines virtuelles dans un flux de travail unique. Avec un facile à utiliser de flux de travail et de se concentrer sur l'automatisation, le Vagabond de développement réduits configuration de l'environnement de temps, augmente la production de la parité. Afin de vous code dans votre PC Windows et compiler/exécuter l'application sur un système Linux à l'aide de l'Errance. Vagrant est gratuit! Un outil similaire: Docker peut être utilisé aussi. Pour cette configuration, vous pouvez utiliser n'importe quel IDE, je le recommande VSCode son très pratique pour le C/C++ avec intellisense mais Eclipse devrait fonctionner aussi.
Une VM (Machine Virtuelle) d'exécution d'une saveur de linux en tant que système d'exploitation invité Windows à l'intérieur. Commencez avec VirtualBox qui est gratuit.
Outil Web comme de la nitro.io qui est interrompue, mais vous pouvez héberger votre propre version open-source du Protoxyde d'IDE appelé Nitreux Solo, qui vous permet d'héberger votre propre instance de Protoxyde d'IDE sur votre choix de fournisseur de cloud.
Windows 10 offre une Sous-système Windows pour Linux, essayez de l'utiliser pour compiler et exécuter votre projet. Cela nécessite une version 64 bits de Windows 10 Anniversaire de mise à Jour ou version ultérieure (version 1607+).
Cygwin /MinGW sont populaires bash outils pour Windows, ils pourraient être en mesure de compiler et/ou de l'exécution de votre application.
Je trouve les commandes colinux extrêmement utile lors du développement sur Windows pour Linux, il s'agit essentiellement d'un système linux en parallèle à votre système d'exploitation Windows (c'est à dire en tant que service) et peut être configuré pour simplement afficher sur votre réseau local, un peu comme une machine virtuelle. Aussi, il est beaucoup plus complet que CygWin, et sa performance est vraiment remarquable - je peut facilement exécuter des non-choses triviales, sous les commandes colinux, et continuer à exécuter les simulateurs de 90+ fps.
Aussi, les commandes colinux peut être facilement configuré pour exécuter X11 et les gestionnaires de fenêtres comme gnome/KDE, de sorte que vous pouvez utiliser, par exemple, quelque chose comme vnc pour accéder à votre bureau linux.
(source: colinux.org)
Cygwin pourrait être utile.
J'ai fait ce que vous voulez faire exactement pour la même raison: le plein contrôle sur la sortie (vous avez de la police des problèmes avec votre solution actuelle) et beaucoup plus lent machine Windows que Linux distante de développement de la zone.
La plupart des réponses sont fausses: le fait d'avoir un "environnement de développement Linux" n'est pas seulement "avoir une IDE". Il s'agit d'avoir l'ensemble des nations Unies*x puissance à portée de main.
Est-il un local ou distant, serveur Linux? la bande passante des questions? Parce que sur un réseau local, même un vieux 100 MBit/s, LAN, FreeNX mouches. Quelle est la charge sur ce serveur Linux?
Installation de la libre FreeNX sur le système Linux, installez le gratuit FreeNX client sur la machine Windows et bingo, vous avez votre environnement de développement Linux à portée de main.
FreeNX est beaucoup plus efficace que VNC, c'est la nuit de la journée (VNC est en fait assez mauvaises perfs sage, même le comparer à Windows de Bureau à Distance... Mais FreeNX mouches).
Qui concerne la vitesse, il y a longtemps, j'ai mis mon principal poste de travail Linux (c'était un Pentium 4 /2 go de mémoire dans le temps) sur lequel j'étais en développement à temps plein à l'aide de IntelliJ IDEA (un autre IDE) afin de fournir un service complet de la session X (avec un gestionnaire de fenêtre, etc.) un autre développeur a été l'affichage à distance pour... exécuter un autre Ide (et accéder à tous les un*x subtilités). C'est sur un LAN 100 Mbit/s et c'était comme si l'application était locales pour les autres développeurs.
De toute façon, sur le matériel d'aujourd'hui je ne peux pas imaginer comment cela pourrait ne pas fonctionner: j'ai maintenant ici un Core 2 Duo /4 GO de mémoire vive de mon ordinateur de bureau principal et un Gigabit LAN.
Cette installation fonctionnait parfaitement il y a 4 ans, il fonctionne parfaitement aujourd'hui.
Maintenant si vous me dites que vous avez de la bande passante des questions ou que la machine Linux, vous avez votre compte est sous une charge lourde ou qu'il n'est pas sur le réseau local, puis les choses peuvent être différentes...
Comment les jeunes développeurs qui veulent un puissant de l'Onu*x système de le faire à la société, je suis consultant pour aujourd'hui (qui n'a que des postes de travail Windows)? La plupart d'entre eux apportent leur brillant MacBook Pro et de l'utiliser pour se développer 😉
Vous pouvez essayer d'autres serveurs X sur Windows, telles que xwin32 et colibri. Notez que ce sont des implémentations commerciales.
Une autre solution est d'installer une machine virtuelle serveur sur votre machine Windows et installer Linux sur la machine virtuelle. Les Options comprennent VMware (non-libre) et Microsoft Virtual PC (téléchargement gratuit). VMware est beaucoup plus agréable que VirtualPC (64-bit, plus de motivation à l'appui de client Linux Systèmes d'exploitation, etc.). Il peut également
Je suis en utilisant xming ainsi et souffre des mêmes problèmes avec Eclipse. Apparemment, ni de commutation de cygwin rend assez vite. Finalement je suis passé à développer dans vim via xming. Il ne prend pas autant de temps que je craignais de s'habituer à toutes les combinaisons de touches, et la performance est tout à fait lisse. En fait, maintenant, parfois, j'utilise vim, même lorsque vous travaillez en mode natif.
Soit une Machine Virtuelle avec une base Linux environnement de dev, ou une copie locale de certains de la chaîne d'-agnostique IDE (par exemple, Notepad++, avec les tests fait par MinGW ou CygWin aussi loin que vous le pouvez), ou tout simplement écrire dans Notepad++ et de garder le téléchargement de votre machine de dev et de contrôle, qui est ce que je fais.
Vous pouvez prendre un coup d'oeil à la configuration d'un serveur svn sous linux, puis en utilisant quelque chose comme TeamCity todo un build sur valider. Vous pouvez écrire votre code en local et faire un commit quand vous voulez qu'il soit compilé.
Je ne sais pas si il y a de plus moderne, mais de façon standard, dans mon temps, à faire courir X Windows dans Microsoft Windows, de cette façon, vous pouvez exécuter un nombre illimité d'applications sur votre machine Ubuntu et de les contrôler et de les afficher dans Microsoft Windows
Vérifier Vérifier out.
Vous pouvez essayer d'utiliser une des distributions linux pour windows, même windows-store ont ubuntu, SUSE, etc pour windows, ce qui pourrait aider à réduire vos efforts de codage. Cette distributions linux contiennent shell linux, noyau, etc afin que vous ne serez pas en avoir besoin d'un système linux à chaque fois que le débogage ou de tester votre code.
Vous pouvez également utiliser le Code de Visual Studio qui est beaucoup mieux et rapide par rapport à eclipse et est même pris en charge sous linux et mac.
Vérifier cette pour distro ubuntu sur windows store.
Des distributions Linux peut également être téléchargé à partir d'autres sources, mais microsoft recommande d'utiliser celui de Windows-Store.
Utiliser Linux! D'habitude, j'ai un autre problème: le développement de gagner des sous linux.
Il n'y a pas de raison de ne pas le faire: j'ai win en cours d'exécution sur une boîte virtuelle maintenant presque tout le temps.
Linux est livré avec un lot d'outils de développement.
Le problème est:
est-il une interface graphique?
- Si non, vous n'aurez pas de problèmes dès que votre code STD/portable.
(X permet des choses simples aussi, mais pour une belle application aujourd'hui, vous avez besoin d'un peu plus.)
- Si Oui, alors vous aurez beaucoup de problèmes lorsque vous port le code
sur le fonctionnement de la plateforme.
Est-il censé être portable/échangeables entre linux et windows?
- si non, il suffit de se développer sur le système d'exploitation natif. Beaucoup moins de douleur. Vous avez Eclipse pour les deux
les plates-formes. Même si vous pensez que le port le code sur un stade ultérieur,
juste faire le travail pour une première.
J'ai développé un couple de l'application graphique sous linux qui sont en fait dès maintenant
utilisé uniquement sous windows. Ma recette est: GTK/GNOME. Je l'ai fait en cours d'exécution avec cygwin et mingw.
Mais je suppose que Qt a la même utilisable environnement.
Mon code sur gagner avec pas de changements!
[ok.. un couple de toucher sur les chemins de fichiers... mais il était un bug..]
Il n'y a aucun moyen de le développer sous win et j'espère être en cours d'exécution sur linux, sauf si vous êtes sûr
ne pas utiliser n'importe quelle victoire libs. C'est: dans une application graphique presque aucune chance. Ou beaucoup de
vérification... Ou vous ne serez pas à l'aide d'un gain de facilité. Oubliez Visual Studio.
Vérifier, en effet, le vin et le winehq pages.
À moins que le problème est autre, comme: à l'aide de l'équipe de partage des installations, ou svn ou quoi que ce soit.
Ce qui n'est pas un code de problème de développement, mais en un peu plus sur le côté organisationnel.
Bas de ligne:
Il est beaucoup plus facile de port gratuit code sur gagner ensuite un code de propriété sur le marché libre.
bis
F