{"id":29,"date":"2025-10-30T08:43:08","date_gmt":"2025-10-30T00:43:08","guid":{"rendered":"https:\/\/aexdi.top\/?p=29"},"modified":"2025-10-31T09:50:39","modified_gmt":"2025-10-31T01:50:39","slug":"vmware%e8%99%9a%e6%8b%9f%e6%9c%ba%e4%b8%8bubuntu%e7%b3%bb%e7%bb%9f%e7%9a%84ros%e5%ae%89%e8%a3%85%e6%95%99%e7%a8%8b","status":"publish","type":"post","link":"https:\/\/aexdi.top\/index.php\/2025\/10\/30\/vmware%e8%99%9a%e6%8b%9f%e6%9c%ba%e4%b8%8bubuntu%e7%b3%bb%e7%bb%9f%e7%9a%84ros%e5%ae%89%e8%a3%85%e6%95%99%e7%a8%8b\/","title":{"rendered":"VMware\u865a\u62df\u673a\u4e0bUbuntu\u7cfb\u7edf\u7684ROS\u5b89\u88c5\u6559\u7a0b"},"content":{"rendered":"<p><script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/highlight.js\/11.7.0\/highlight.min.js\"><\/script><br \/><script>hljs.highlightAll();<\/script><\/p>\n<p><style>\n        \/* \u4e13\u95e8\u9488\u5bf9WordPress\u4f18\u5316\u7684\u6837\u5f0f *\/<br \/>\n        .ros-tutorial-container {<br \/>\n            max-width: 100%;<br \/>\n            margin: 0 auto;<br \/>\n            font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen-Sans, Ubuntu, Cantarell, \"Helvetica Neue\", sans-serif;<br \/>\n            line-height: 1.7;<br \/>\n            color: #333;<br \/>\n            padding: 20px;<br \/>\n            background: #f8f9fa;<br \/>\n        }<\/p>\n<p>        .ros-tutorial-content {<br \/>\n            background: white;<br \/>\n            border-radius: 12px;<br \/>\n            padding: 30px;<br \/>\n            box-shadow: 0 5px 15px rgba(0,0,0,0.05);<br \/>\n        }<\/p>\n<p>        .ros-tutorial-content p {<br \/>\n            margin-bottom: 1.5em;<br \/>\n            font-size: 16px;<br \/>\n            line-height: 1.8;<br \/>\n        }<\/p>\n<p>        .ros-tutorial-content h2 {<br \/>\n            color: #2c3e50;<br \/>\n            margin: 30px 0 20px;<br \/>\n            padding-bottom: 10px;<br \/>\n            border-bottom: 2px solid #eaecef;<br \/>\n            font-size: 1.6em;<br \/>\n            font-weight: 700;<br \/>\n        }<\/p>\n<p>        \/* \u89c6\u9891\u5bb9\u5668 - \u8d85\u5927\u9ad8\u5ea6 *\/<br \/>\n        .bilibili-video-wrapper {<br \/>\n            width: 100%;<br \/>\n            margin: 40px 0;<br \/>\n            position: relative;<br \/>\n        }<\/p>\n<p>        .bilibili-video-container {<br \/>\n            position: relative;<br \/>\n            width: 100%;<br \/>\n            height: 100%;<br \/>\n            padding-bottom: 75%; \/* \u5927\u5e45\u589e\u52a0\u9ad8\u5ea6\u6bd4\u4f8b *\/<br \/>\n            overflow: hidden;<br \/>\n            border-radius: 8px;<br \/>\n            box-shadow: 0 8px 25px rgba(0,0,0,0.1);<br \/>\n            max-width: 100% !important;<br \/>\n            background: #000;<br \/>\n            border: 2px solid #e0e0e0;<br \/>\n        }<\/p>\n<p>        .bilibili-video-container iframe {<br \/>\n            position: absolute;<br \/>\n            top: 0;<br \/>\n            left: 0;<br \/>\n            width: 100% !important;<br \/>\n            height: 100% !important;<br \/>\n            border: none;<br \/>\n            max-width: 100% !important;<br \/>\n        }<\/p>\n<p>        \/* \u4ee3\u7801\u5757\u6837\u5f0f *\/<br \/>\n        .code-section {<br \/>\n            background: #1e1e1e;<br \/>\n            border-radius: 8px;<br \/>\n            margin: 25px 0;<br \/>\n            overflow: hidden;<br \/>\n            box-shadow: 0 5px 15px rgba(0,0,0,0.1);<br \/>\n        }<\/p>\n<p>        .code-header {<br \/>\n            display: flex;<br \/>\n            justify-content: space-between;<br \/>\n            align-items: center;<br \/>\n            padding: 12px 20px;<br \/>\n            background: #2d2d30;<br \/>\n            color: #e2e8f0;<br \/>\n            border-bottom: 1px solid #3e3e42;<br \/>\n        }<\/p>\n<p>        .code-title {<br \/>\n            font-weight: 600;<br \/>\n            font-size: 14px;<br \/>\n        }<\/p>\n<p>        \/* \u63d0\u793a\u6846\u6837\u5f0f *\/<br \/>\n        .note-box {<br \/>\n            background: #e8f4fd;<br \/>\n            border-left: 4px solid #3498db;<br \/>\n            padding: 15px 20px;<br \/>\n            margin: 20px 0;<br \/>\n            border-radius: 0 8px 8px 0;<br \/>\n        }<\/p>\n<p>        .note-title {<br \/>\n            font-weight: 700;<br \/>\n            color: #2c3e50;<br \/>\n            margin-bottom: 5px;<br \/>\n        }<\/p>\n<p>        \/* \u6b65\u9aa4\u6837\u5f0f *\/<br \/>\n        .steps-container {<br \/>\n            margin: 20px 0;<br \/>\n        }<\/p>\n<p>        .step {<br \/>\n            display: flex;<br \/>\n            margin-bottom: 15px;<br \/>\n            align-items: flex-start;<br \/>\n        }<\/p>\n<p>        .step-number {<br \/>\n            background: #3498db;<br \/>\n            color: white;<br \/>\n            width: 28px;<br \/>\n            height: 28px;<br \/>\n            border-radius: 50%;<br \/>\n            display: flex;<br \/>\n            align-items: center;<br \/>\n            justify-content: center;<br \/>\n            margin-right: 15px;<br \/>\n            flex-shrink: 0;<br \/>\n            font-weight: bold;<br \/>\n            font-size: 14px;<br \/>\n        }<\/p>\n<p>        .step-content {<br \/>\n            flex: 1;<br \/>\n        }<\/p>\n<p>        \/* \u8d44\u6e90\u94fe\u63a5\u6837\u5f0f *\/<br \/>\n        .resource-links {<br \/>\n            display: flex;<br \/>\n            flex-wrap: wrap;<br \/>\n            gap: 15px;<br \/>\n            margin-top: 30px;<br \/>\n            padding-top: 20px;<br \/>\n            border-top: 1px solid #eaecef;<br \/>\n        }<\/p>\n<p>        .resource-link {<br \/>\n            display: inline-flex;<br \/>\n            align-items: center;<br \/>\n            padding: 12px 20px;<br \/>\n            background: #3498db;<br \/>\n            color: white;<br \/>\n            text-decoration: none;<br \/>\n            border-radius: 6px;<br \/>\n            font-weight: 600;<br \/>\n            transition: all 0.3s ease;<br \/>\n            box-shadow: 0 2px 5px rgba(0,0,0,0.1);<br \/>\n        }<\/p>\n<p>        .resource-link:hover {<br \/>\n            background: #2980b9;<br \/>\n            transform: translateY(-2px);<br \/>\n            box-shadow: 0 4px 8px rgba(0,0,0,0.15);<br \/>\n        }<\/p>\n<p>        \/* \u4ee3\u7801\u9ad8\u4eae\u6837\u5f0f\u4f18\u5316 *\/<br \/>\n        .code-block {<br \/>\n            padding: 20px;<br \/>\n            margin: 0;<br \/>\n            overflow-x: auto;<br \/>\n            font-family: 'Consolas', 'Monaco', 'Courier New', monospace;<br \/>\n            font-size: 14px;<br \/>\n            line-height: 1.5;<br \/>\n            border-radius: 0 0 8px 8px;<br \/>\n        }<\/p>\n<p>        \/* \u5185\u8054\u4ee3\u7801\u6837\u5f0f *\/<br \/>\n        code {<br \/>\n            background: #f1f3f4;<br \/>\n            padding: 2px 6px;<br \/>\n            border-radius: 4px;<br \/>\n            font-family: 'Consolas', 'Monaco', 'Courier New', monospace;<br \/>\n            font-size: 0.9em;<br \/>\n            color: #d63384;<br \/>\n        }<\/p>\n<p>        \/* \u54cd\u5e94\u5f0f\u8bbe\u8ba1 *\/<br \/>\n        @media (max-width: 768px) {<br \/>\n            .ros-tutorial-container {<br \/>\n                padding: 10px;<br \/>\n            }<\/p>\n<p>            .ros-tutorial-content {<br \/>\n                padding: 20px;<br \/>\n            }<\/p>\n<p>            \/* \u79fb\u52a8\u7aef\u89c6\u9891\u8d85\u5927 *\/<br \/>\n            .bilibili-video-wrapper {<br \/>\n                margin: 30px -10px;<br \/>\n                width: calc(100% + 20px);<br \/>\n            }<\/p>\n<p>            .bilibili-video-container {<br \/>\n                border-radius: 0;<br \/>\n                padding-bottom: 85%; \/* \u79fb\u52a8\u7aef\u66f4\u9ad8 *\/<br \/>\n            }<\/p>\n<p>            .resource-links {<br \/>\n                flex-direction: column;<br \/>\n            }<br \/>\n        }<\/p>\n<p>        @media (min-width: 769px) and (max-width: 1024px) {<br \/>\n            \/* \u5e73\u677f\u7aef\u66f4\u9ad8 *\/<br \/>\n            .bilibili-video-container {<br \/>\n                padding-bottom: 80%;<br \/>\n            }<br \/>\n        }<\/p>\n<p>        @media (min-width: 1025px) {<br \/>\n            \/* \u684c\u9762\u7aef\u4fdd\u6301\u8f83\u9ad8 *\/<br \/>\n            .bilibili-video-container {<br \/>\n                padding-bottom: 70%;<br \/>\n            }<br \/>\n        }<\/p>\n<p>        @media (min-width: 1440px) {<br \/>\n            \/* \u5927\u684c\u9762\u7aef *\/<br \/>\n            .bilibili-video-container {<br \/>\n                padding-bottom: 65%;<br \/>\n            }<br \/>\n        }<\/p>\n<p>        \/* WordPress\u7279\u5b9a\u4fee\u590d *\/<br \/>\n        .wp-block-embed iframe {<br \/>\n            width: 100% !important;<br \/>\n            max-width: 100% !important;<br \/>\n            height: auto !important;<br \/>\n        }<\/p>\n<p>        \/* \u5f3a\u5236\u8986\u76d6WordPress\u4e3b\u9898\u53ef\u80fd\u7684\u9ad8\u5ea6\u9650\u5236 *\/<br \/>\n        .bilibili-video-container * {<br \/>\n            height: auto !important;<br \/>\n            max-height: none !important;<br \/>\n        }<br \/>\n    <\/style><\/p>\n<div class=\"ros-tutorial-container\">\n<div class=\"ros-tutorial-content\">\n<h2>\u89c6\u9891\u6559\u7a0b<\/h2>\n<p>\u4ee5\u4e0b\u89c6\u9891\u8be6\u7ec6\u6f14\u793a\u4e86\u5728\u865a\u62df\u673aUbuntu\u7cfb\u7edf\u4e2d\u5b89\u88c5ROS\u7684\u5b8c\u6574\u8fc7\u7a0b\uff0c\u4ece\u73af\u5883\u51c6\u5907\u5230\u6700\u7ec8\u9a8c\u8bc1\uff0c\u6bcf\u4e2a\u6b65\u9aa4\u90fd\u6709\u8be6\u7ec6\u8bf4\u660e\u3002<\/p>\n<p><!-- \u8d85\u5927\u9ad8\u5ea6\u7684\u89c6\u9891\u5bb9\u5668 --><\/p>\n<div class=\"bilibili-video-wrapper\">\n<div class=\"bilibili-video-container\"><iframe style=\"width: 100%; height: 100%;\" src=\"https:\/\/player.bilibili.com\/player.html?bvid=BV1Cw411z79B\" frameborder=\"no\" scrolling=\"no\" allowfullscreen=\"allowfullscreen\"><br \/><\/iframe><\/div>\n<\/div>\n<div class=\"note-box\">\n<div>\u00a0<\/div>\n<div>\u00a0<\/div>\n<div>\u00a0<\/div>\n<div class=\"note-title\">\u63d0\u793a<\/div>\n<p>\u5982\u679c\u89c6\u9891\u65e0\u6cd5\u64ad\u653e\uff0c\u8bf7\u786e\u4fdd\u60a8\u7684\u7f51\u7edc\u8fde\u63a5\u6b63\u5e38\uff0c\u6216\u76f4\u63a5\u8bbf\u95ee <a href=\"https:\/\/www.bilibili.com\/video\/BV1Cw411z79B\/\" target=\"_blank\" rel=\"noopener\">Bilibili\u539f\u89c6\u9891\u94fe\u63a5<\/a>\u3002<\/p>\n<\/div>\n<h2>\u5b89\u88c5\u6b65\u9aa4<\/h2>\n<p>\u6309\u7167\u4ee5\u4e0b\u6b65\u9aa4\u5728\u865a\u62df\u673aUbuntu\u7cfb\u7edf\u4e2d\u5b89\u88c5ROS\u3002\u8bf7\u786e\u4fdd\u60a8\u5df2\u5b89\u88c5Ubuntu\u7cfb\u7edf\u5e76\u5177\u5907\u57fa\u672c\u7684\u7ec8\u7aef\u64cd\u4f5c\u77e5\u8bc6\u3002<\/p>\n<div class=\"steps-container\">\n<div class=\"step\">\n<div class=\"step-number\">1<\/div>\n<div class=\"step-content\">\n<p>\u6253\u5f00\u7ec8\u7aef\uff0c\u786e\u4fdd\u60a8\u7684Ubuntu\u7cfb\u7edf\u5df2\u8fde\u63a5\u5230\u4e92\u8054\u7f51\u3002<\/p>\n<\/div>\n<\/div>\n<div class=\"step\">\n<div class=\"step-number\">2<\/div>\n<div class=\"step-content\">\n<p>\u4e0b\u8f7d\u5e76\u8fd0\u884c\u5b89\u88c5\u811a\u672c\uff1a<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"code-section\">\n<div class=\"code-header\">\n<div class=\"code-title\">\u7ec8\u7aef\u547d\u4ee4<\/div>\n<div>\u00a0<\/div>\n<\/div>\n<pre class=\"code-block\"><code class=\"language-bash\">wget http:\/\/fishros.com\/install -O fishros &amp;&amp; sudo bash fishros<\/code><\/pre>\n<\/div>\n<div class=\"steps-container\">\n<div class=\"step\">\n<div>\u00a0<\/div>\n<div class=\"step-number\">3<\/div>\n<div class=\"step-content\">\n<p>\u6309\u7167\u811a\u672c\u63d0\u793a\u5b8c\u6210ROS\u7684\u5b89\u88c5\u548c\u914d\u7f6e\u3002<\/p>\n<\/div>\n<\/div>\n<div class=\"step\">\n<div class=\"step-number\">4<\/div>\n<div class=\"step-content\">\n<p>\u5b89\u88c5\u5b8c\u6210\u540e\uff0c\u91cd\u542f\u7ec8\u7aef\u6216\u8fd0\u884c <code>source ~\/.bashrc<\/code> \u4f7f\u914d\u7f6e\u751f\u6548\u3002<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"note-box\">\n<div class=\"note-title\">\u6ce8\u610f<\/div>\n<p>\u786e\u4fdd\u5728\u8fd0\u884c\u811a\u672c\u524d\u5df2\u5907\u4efd\u91cd\u8981\u6570\u636e\u3002\u5b89\u88c5\u8fc7\u7a0b\u53ef\u80fd\u9700\u8981\u4e00\u4e9b\u65f6\u95f4\uff0c\u5177\u4f53\u53d6\u51b3\u4e8e\u60a8\u7684\u7f51\u7edc\u901f\u5ea6\u548c\u7cfb\u7edf\u6027\u80fd\u3002<\/p>\n<h2>\u76f8\u5173\u8d44\u6e90<\/h2>\n<\/div>\n<p><!-- \u65b0\u589e\u8d44\u6e90\u94fe\u63a5\u90e8\u5206 --><\/p>\n<div class=\"resource-links\"><a class=\"resource-link\" href=\"https:\/\/www.bilibili.com\/video\/BV1Ci4y1L7ZZ\/?spm_id_from=333.337.search-card.all.click&amp;vd_source=8c93ffa8f1a27287476187b30ab18652\" target=\"_blank\" rel=\"noopener\"><br \/>ROS\u57fa\u7840\u81ea\u5b66\u6559\u7a0b\u94fe\u63a5<\/a><a class=\"resource-link\" href=\"http:\/\/www.autolabor.com.cn\/book\/ROSTutorials\/\" target=\"_blank\" rel=\"noopener\"><br \/>ROS\u57fa\u7840\u81ea\u5b66\u6587\u6863\u94fe\u63a5<br \/><\/a><\/div>\n<\/div>\n<\/div>\n<p><script><br \/>\n        \/\/ \u5f3a\u5236\u8bbe\u7f6e\u89c6\u9891\u9ad8\u5ea6<br \/>\n        document.addEventListener('DOMContentLoaded', function() {<br \/>\n            const videoContainer = document.querySelector('.bilibili-video-container');<br \/>\n            const iframe = document.querySelector('.bilibili-video-container iframe');<\/p>\n<p>            function setMaxHeight() {<br \/>\n                const viewportHeight = window.innerHeight;<br \/>\n                const calculatedHeight = viewportHeight * 0.7; \/\/ \u5360\u636e\u89c6\u53e370%\u9ad8\u5ea6<\/p>\n<p>                if (videoContainer) {<br \/>\n                    \/\/ \u8bbe\u7f6e\u6700\u5c0f\u9ad8\u5ea6<br \/>\n                    videoContainer.style.minHeight = '700px';<\/p>\n<p>                    \/\/ \u6839\u636e\u5c4f\u5e55\u5c3a\u5bf8\u8bbe\u7f6e\u4e0d\u540c\u9ad8\u5ea6<br \/>\n                    if (window.innerWidth < 768) {\n                        videoContainer.style.paddingBottom = '100%'; \/\/ \u79fb\u52a8\u7aef\u6700\u9ad8\n                    } else if (window.innerWidth < 1024) {\n                        videoContainer.style.paddingBottom = '100%'; \/\/ \u5e73\u677f\u7aef\n                    } else {\n                        videoContainer.style.paddingBottom = '100%'; \/\/ \u684c\u9762\u7aef\n                    }\n                }\n                \n                if (iframe) {\n                    iframe.style.height = '100%';\n                    iframe.style.minHeight = '700px';\n                }\n            }\n            \n            \/\/ \u521d\u59cb\u8bbe\u7f6e\n            setMaxHeight();\n            \n            \/\/ \u76d1\u542c\u7a97\u53e3\u53d8\u5316\n            window.addEventListener('resize', setMaxHeight);\n            \n            \/\/ \u5ef6\u8fdf\u518d\u6b21\u8bbe\u7f6e\uff0c\u786e\u4fddWordPress\u5b8c\u5168\u52a0\u8f7d\n            setTimeout(setMaxHeight, 1000);\n        });\n    <\/script><\/p>\n\n\n<p><a href=\"https:\/\/mirrors.tuna.tsinghua.edu.cn\/ubuntu-releases\">\u6e05\u534e\u6e90Ubuntu\u955c\u50cf<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/xiaodao.lanzout.com\/b032dd1v4j\">\u865a\u62df\u673a\u4e0b\u8f7d<\/a><\/p>\n\n\n\n<p><\/p>\n<style>\/* \u8c03\u6574\u6240\u6709B\u7ad9\u89c6\u9891\u5c3a\u5bf8 *\/\r\n.bilibili-video-container iframe {\r\n    height: 500px !important;\r\n}\r\n\r\n\/* \u6216\u8005\u4f7f\u7528\u54cd\u5e94\u5f0f\u8bbe\u8ba1 *\/\r\n.bilibili-video-container {\r\n    position: relative;\r\n    width: 100%;\r\n    height: 0;\r\n    padding-bottom: 56.25%;\r\n}\r\n.bilibili-video-container iframe {\r\n    position: absolute;\r\n    top: 0;\r\n    left: 0;\r\n    width: 100%;\r\n    height: 100%;\r\n}<\/style>","protected":false},"excerpt":{"rendered":"<p>\u89c6\u9891\u6559\u7a0b \u4ee5\u4e0b\u89c6\u9891\u8be6\u7ec6\u6f14\u793a\u4e86\u5728\u865a\u62df\u673aUbuntu\u7cfb\u7edf\u4e2d\u5b89\u88c5ROS\u7684\u5b8c\u6574\u8fc7\u7a0b\uff0c\u4ece\u73af\u5883\u51c6\u5907\u5230\u6700\u7ec8\u9a8c\u8bc1\uff0c\u6bcf\u4e2a\u6b65\u9aa4\u90fd\u6709 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[3],"tags":[],"class_list":["post-29","post","type-post","status-publish","format-standard","hentry","category-ros"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/aexdi.top\/index.php\/wp-json\/wp\/v2\/posts\/29","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aexdi.top\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/aexdi.top\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/aexdi.top\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/aexdi.top\/index.php\/wp-json\/wp\/v2\/comments?post=29"}],"version-history":[{"count":22,"href":"https:\/\/aexdi.top\/index.php\/wp-json\/wp\/v2\/posts\/29\/revisions"}],"predecessor-version":[{"id":63,"href":"https:\/\/aexdi.top\/index.php\/wp-json\/wp\/v2\/posts\/29\/revisions\/63"}],"wp:attachment":[{"href":"https:\/\/aexdi.top\/index.php\/wp-json\/wp\/v2\/media?parent=29"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/aexdi.top\/index.php\/wp-json\/wp\/v2\/categories?post=29"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/aexdi.top\/index.php\/wp-json\/wp\/v2\/tags?post=29"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}