前期准备

1. 环境配置

  • Windows环境

    • 安装专业版Pycharm(社区版无Deployment功能,学生和教师可申请免费专业版)。
    • 确保已安装SSH客户端,用于连接Ubuntu服务器。
  • Ubuntu环境

    • 确保Python解释器已安装。
    • 配置SSH服务,允许Windows主机通过SSH连接。

2. 工具安装

  • cwRsync:用于Windows与Ubuntu之间的数据同步备份。
  • WSL2(Windows Subsystem for Linux):在Windows主机上运行Ubuntu环境,便于本地开发。

部署本地Pycharm项目到Ubuntu服务器

1. 配置Pycharm Deployment

  1. 打开Pycharm,点击Tools -> Deployment -> Configuration
  2. 点击“+”号创建SFTP服务。
  3. 给部署方案设置一个名字,例如“UbuntuServer”。
  4. 设置连接信息:
    • Host:Ubuntu服务器的IP地址。
    • Port:SSH端口,默认为22。
    • User name:服务器用户名。
    • Authentication type:选择“Password”或“Key pair”。
  5. 点击“OK”保存配置。

2. 同步项目文件

  1. 在Pycharm中,点击Tools -> Deployment -> Upload to UbuntuServer
  2. 选择需要上传的文件或文件夹,点击“Upload”开始同步。

解决Ubuntu One for Windows无法同步问题

1. 问题现象

在使用Ubuntu One进行文件同步时,可能会遇到“file sync starting”状态卡住的问题。

2. 解决方法

  1. 退出Ubuntu One,包括关闭任务管理器中所有与Ubuntu One相关的进程。
  2. 进入C:\Users\[用户名]\AppData\Local\xdg\ubuntuone\syncdaemon\tritcask目录,删除所有文件。
  3. 重新启动Ubuntu One客户端,一般会提示合并本地和服务器上的同步文件夹,同意即可。

Ubuntu Qt5项目迁移到Windows VS2017

1. 前言

跨平台开发中,Qt是一个强大的工具,但在Windows和Ubuntu之间迁移项目时,仍需注意诸多细节。

2. 迁移步骤

  1. VS2017配置Qt开发环境
    • 安装最新版Qt5.9.2。
    • 配置包含目录和库目录:
      
      包含目录:C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\cppwinrt
      库目录:C:\Program Files (x86)\Windows Kits\10\lib\10.0.17763.0\ucrt\x64
      环境变量:D:\software\QT\Qt5.10.1\5.10.1\msvc2017_64\bin
      
  2. 项目文件迁移
    • 将Linux下的uimainwindow.hmoc.cpp等文件拷贝到Windows项目中。
    • 修改#include路径,确保文件引用正确。
  3. 网络组件配置
    • 如果项目使用Socket,新建Qt项目时,记得勾选“Network”构件。

本地Windows主机使用Pycharm通过WSL的Ubuntu创建Django项目

1. 情境描述

在Windows主机上,通过WSL2运行Ubuntu环境,使用Pycharm创建和运行Django项目。

2. 操作步骤

  1. 创建Django项目
    • 在Ubuntu环境中,使用django-admin startproject myproject创建项目。
  2. 确保rsync已安装
    • 用于文件同步,确保Windows和Ubuntu环境中的文件一致。
  3. 运行项目
    • 在Pycharm中,直接运行Django项目。
  4. 环境同步
    • 若在终端安装插件,需手动激活虚拟环境:
      
      source activate
      
    • 安装插件后,退出虚拟环境:
      
      deactivate
      
  5. 升级pip
    • 使用pip install --upgrade pip命令升级pip。
  6. 项目主目录
    • 在Pycharm中,终端会显示Ubuntu环境,项目主目录位于Ubuntu文件系统中。

cwRsync数据同步备份

1. 添加RSA Key到Ubuntu服务器

  1. 进入C:\Program Files (x86)\cwRsync\home\.ssh目录。
  2. 执行命令:
    
    rsync -av id_rsa.pub 用户名@IP地址:~/.ssh/newkey.pub
    
  3. 按提示输入“yes”和服务器用户密码。

2. 服务器端配置

  1. 进入服务器的.ssh目录:
    
    cd ~/.ssh/
    
  2. 将newkey.pub内容添加到authorized_keys:
    
    cat newkey.pub >> authorized_keys
    
  3. 设置文件权限:
    
    sudo chmod 600 authorized_keys
    sudo chmod 700 .ssh
    

3. Windows同步命令编写

  1. 拷贝cwrsync.cmdmysync.cmd
  2. 修改mysync.cmd,添加rsync命令:
    
    echo "start sync for project ..."
    rsync -azvrl --progress --delete --exclude=".o" /cygdrive/y/file/project 用户名@IP地址:/mnt/databak/project.bak/
    

总结

通过以上步骤,我们可以在Windows和Ubuntu环境之间高效地同步和部署编程项目。无论是使用Pycharm的Deployment功能,还是利用cwRsync进行数据备份,亦或是通过WSL2在Windows主机上运行Ubuntu环境,这些方法都极大地提升了跨平台开发的便捷性和效率。希望本文的实践经验和技巧能为广大开发者提供有益的参考。