[{"data":1,"prerenderedAt":598},["ShallowReactive",2],{"page-\u002Fzh-cn\u002Fblog\u002Fvscode-taskbar-codex-fix":3,"surrounding-\u002Fzh-cn\u002Fblog\u002Fvscode-taskbar-codex-fix":576,"language-switcher-data-\u002Fzh-cn\u002Fblog\u002Fvscode-taskbar-codex-fix":582,"blog-i18n-paths-\u002Fzh-cn\u002Fblog\u002Fvscode-taskbar-codex-fix":597},{"id":4,"title":5,"body":6,"canonicalPath":562,"chapterDepth":563,"chapterOrder":563,"date":564,"description":565,"docI18nKey":563,"docKey":563,"docRoot":563,"docTitle":563,"extension":566,"i18nKey":567,"isBlogPost":568,"isWikiDoc":569,"isWikiIndex":569,"layout":563,"legacyPath":570,"locale":571,"localeSlug":572,"meta":573,"navigation":568,"path":562,"seo":574,"sourcePath":570,"sourceStem":567,"stem":567,"wikiDepth":563,"__hash__":575},"content\u002Fposts\u002F2026-07-21-VSCode任务栏启动Codex插件打不开.md","Linux下从任务栏启动VS Code时Codex插件打不开的解决方法",{"type":7,"value":8,"toc":544},"minimark",[9,13,17,32,35,38,41,51,54,61,64,67,86,89,95,98,115,118,124,130,133,148,151,162,165,168,171,181,184,195,198,201,217,220,238,244,262,265,268,274,277,281,297,301,322,326,335,362,366,380,383,398,402,405,417,420,433,436,448,451,454,469,472,478,484,487,490,514,517,522,525,528,534,540],[10,11,12],"h2",{"id":12},"问题现象",[14,15,16],"p",{},"在Linux桌面环境中，我遇到了一个很奇怪的问题：",[18,19,20,29],"ul",{},[21,22,23,24,28],"li",{},"在终端执行",[25,26,27],"code",{},"code .","启动VS Code，Codex插件可以正常打开；",[21,30,31],{},"点击KDE任务栏中的VS Code图标启动，Codex插件却无法正常进入。",[14,33,34],{},"如果你也遇到了“同一个VS Code，终端启动正常，任务栏启动异常”的情况，可以先检查两种启动方式实际执行的程序是否相同。",[10,36,37],{"id":37},"两种启动方式的区别",[14,39,40],{},"在我的系统中，VS Code安装后存在下面两个入口：",[42,43,49],"pre",{"className":44,"code":46,"language":47,"meta":48},[45],"language-text","\u002Fusr\u002Fshare\u002Fcode\u002Fcode\n\u002Fusr\u002Fbin\u002Fcode\n","text","",[25,50,46],{"__ignoreMap":48},[14,52,53],{},"它们看起来都能启动VS Code，但实际用途并不完全相同。",[55,56,58],"h3",{"id":57},"usrsharecodecode",[25,59,60],{},"\u002Fusr\u002Fshare\u002Fcode\u002Fcode",[14,62,63],{},"这是VS Code的Electron主程序，也就是实际的GUI可执行文件。",[14,65,66],{},"直接运行：",[42,68,72],{"className":69,"code":70,"language":71,"meta":48,"style":48},"language-bash shiki shiki-themes github-light github-dark","\u002Fusr\u002Fshare\u002Fcode\u002Fcode .\n","bash",[25,73,74],{"__ignoreMap":48},[75,76,79,82],"span",{"class":77,"line":78},"line",1,[75,80,60],{"class":81},"sScJk",[75,83,85],{"class":84},"sZZnC"," .\n",[14,87,88],{},"相当于直接启动Electron应用。",[55,90,92],{"id":91},"usrbincode",[25,93,94],{},"\u002Fusr\u002Fbin\u002Fcode",[14,96,97],{},"这是VS Code提供的命令行启动入口。在我的系统中，它是一个符号链接：",[42,99,101],{"className":69,"code":100,"language":71,"meta":48,"style":48},"ls -l \u002Fusr\u002Fbin\u002Fcode\n",[25,102,103],{"__ignoreMap":48},[75,104,105,108,112],{"class":77,"line":78},[75,106,107],{"class":81},"ls",[75,109,111],{"class":110},"sj4cs"," -l",[75,113,114],{"class":84}," \u002Fusr\u002Fbin\u002Fcode\n",[14,116,117],{},"输出类似：",[42,119,122],{"className":120,"code":121,"language":47,"meta":48},[45],"\u002Fusr\u002Fbin\u002Fcode -> \u002Fusr\u002Fshare\u002Fcode\u002Fbin\u002Fcode\n",[25,123,121],{"__ignoreMap":48},[14,125,126,129],{},[25,127,128],{},"\u002Fusr\u002Fshare\u002Fcode\u002Fbin\u002Fcode","是一个Shell脚本。它会调用VS Code的CLI逻辑，再由CLI创建新窗口或者连接已经运行的VS Code进程。",[14,131,132],{},"可以查看实际路径：",[42,134,136],{"className":69,"code":135,"language":71,"meta":48,"style":48},"readlink -f \u002Fusr\u002Fbin\u002Fcode\n",[25,137,138],{"__ignoreMap":48},[75,139,140,143,146],{"class":77,"line":78},[75,141,142],{"class":81},"readlink",[75,144,145],{"class":110}," -f",[75,147,114],{"class":84},[14,149,150],{},"因此，下面这条命令并不是简单地直接执行Electron主程序：",[42,152,154],{"className":69,"code":153,"language":71,"meta":48,"style":48},"code .\n",[25,155,156],{"__ignoreMap":48},[75,157,158,160],{"class":77,"line":78},[75,159,25],{"class":81},[75,161,85],{"class":84},[10,163,164],{"id":164},"如何确认是不是启动入口的问题",[14,166,167],{},"先正常退出所有VS Code窗口，然后分别测试下面两个命令。",[14,169,170],{},"直接运行GUI程序：",[42,172,173],{"className":69,"code":70,"language":71,"meta":48,"style":48},[25,174,175],{"__ignoreMap":48},[75,176,177,179],{"class":77,"line":78},[75,178,60],{"class":81},[75,180,85],{"class":84},[14,182,183],{},"通过官方CLI入口运行：",[42,185,187],{"className":69,"code":186,"language":71,"meta":48,"style":48},"\u002Fusr\u002Fbin\u002Fcode .\n",[25,188,189],{"__ignoreMap":48},[75,190,191,193],{"class":77,"line":78},[75,192,94],{"class":81},[75,194,85],{"class":84},[14,196,197],{},"在我的环境中，前一种方式无法正常进入Codex插件，后一种方式可以正常使用。",[14,199,200],{},"接着检查系统的VS Code桌面启动器：",[42,202,204],{"className":69,"code":203,"language":71,"meta":48,"style":48},"grep '^Exec=' \u002Fusr\u002Fshare\u002Fapplications\u002Fcode.desktop\n",[25,205,206],{"__ignoreMap":48},[75,207,208,211,214],{"class":77,"line":78},[75,209,210],{"class":81},"grep",[75,212,213],{"class":84}," '^Exec='",[75,215,216],{"class":84}," \u002Fusr\u002Fshare\u002Fapplications\u002Fcode.desktop\n",[14,218,219],{},"原来的配置为：",[42,221,225],{"className":222,"code":223,"language":224,"meta":48,"style":48},"language-ini shiki shiki-themes github-light github-dark","Exec=\u002Fusr\u002Fshare\u002Fcode\u002Fcode %F\nExec=\u002Fusr\u002Fshare\u002Fcode\u002Fcode --new-window %F\n","ini",[25,226,227,232],{"__ignoreMap":48},[75,228,229],{"class":77,"line":78},[75,230,231],{},"Exec=\u002Fusr\u002Fshare\u002Fcode\u002Fcode %F\n",[75,233,235],{"class":77,"line":234},2,[75,236,237],{},"Exec=\u002Fusr\u002Fshare\u002Fcode\u002Fcode --new-window %F\n",[14,239,240,241,243],{},"这就解释了为什么点击任务栏图标和在终端执行",[25,242,25],{},"会得到不同结果：任务栏直接执行了Electron主程序，而终端使用的是VS Code CLI入口。",[245,246,247],"blockquote",{},[14,248,249,250,253,254,257,258,261],{},"不同发行版和安装方式的路径可能不同。修改前应先通过",[25,251,252],{},"command -v code","、",[25,255,256],{},"readlink -f \"$(command -v code)\"","和桌面文件中的",[25,259,260],{},"Exec","字段确认实际路径。",[10,263,264],{"id":264},"使用用户级desktop文件修复",[14,266,267],{},"不建议直接修改：",[42,269,272],{"className":270,"code":271,"language":47,"meta":48},[45],"\u002Fusr\u002Fshare\u002Fapplications\u002Fcode.desktop\n",[25,273,271],{"__ignoreMap":48},[14,275,276],{},"这个文件由系统软件包管理，VS Code升级后可能会被覆盖。更合适的方法是在当前用户目录创建同名desktop文件，覆盖系统启动器。",[55,278,280],{"id":279},"_1-创建用户级应用目录","1. 创建用户级应用目录",[42,282,284],{"className":69,"code":283,"language":71,"meta":48,"style":48},"mkdir -p ~\u002F.local\u002Fshare\u002Fapplications\n",[25,285,286],{"__ignoreMap":48},[75,287,288,291,294],{"class":77,"line":78},[75,289,290],{"class":81},"mkdir",[75,292,293],{"class":110}," -p",[75,295,296],{"class":84}," ~\u002F.local\u002Fshare\u002Fapplications\n",[55,298,300],{"id":299},"_2-复制系统desktop文件","2. 复制系统desktop文件",[42,302,304],{"className":69,"code":303,"language":71,"meta":48,"style":48},"cp \u002Fusr\u002Fshare\u002Fapplications\u002Fcode.desktop \\\n  ~\u002F.local\u002Fshare\u002Fapplications\u002Fcode.desktop\n",[25,305,306,317],{"__ignoreMap":48},[75,307,308,311,314],{"class":77,"line":78},[75,309,310],{"class":81},"cp",[75,312,313],{"class":84}," \u002Fusr\u002Fshare\u002Fapplications\u002Fcode.desktop",[75,315,316],{"class":110}," \\\n",[75,318,319],{"class":77,"line":234},[75,320,321],{"class":84},"  ~\u002F.local\u002Fshare\u002Fapplications\u002Fcode.desktop\n",[55,323,325],{"id":324},"_3-修改启动路径","3. 修改启动路径",[14,327,328,329,331,332,334],{},"把所有",[25,330,60],{},"替换为",[25,333,94],{},"：",[42,336,338],{"className":69,"code":337,"language":71,"meta":48,"style":48},"sed -i \\\n  's#\u002Fusr\u002Fshare\u002Fcode\u002Fcode#\u002Fusr\u002Fbin\u002Fcode#g' \\\n  ~\u002F.local\u002Fshare\u002Fapplications\u002Fcode.desktop\n",[25,339,340,350,357],{"__ignoreMap":48},[75,341,342,345,348],{"class":77,"line":78},[75,343,344],{"class":81},"sed",[75,346,347],{"class":110}," -i",[75,349,316],{"class":110},[75,351,352,355],{"class":77,"line":234},[75,353,354],{"class":84},"  's#\u002Fusr\u002Fshare\u002Fcode\u002Fcode#\u002Fusr\u002Fbin\u002Fcode#g'",[75,356,316],{"class":110},[75,358,360],{"class":77,"line":359},3,[75,361,321],{"class":84},[55,363,365],{"id":364},"_4-检查修改结果","4. 检查修改结果",[42,367,369],{"className":69,"code":368,"language":71,"meta":48,"style":48},"grep '^Exec=' ~\u002F.local\u002Fshare\u002Fapplications\u002Fcode.desktop\n",[25,370,371],{"__ignoreMap":48},[75,372,373,375,377],{"class":77,"line":78},[75,374,210],{"class":81},[75,376,213],{"class":84},[75,378,379],{"class":84}," ~\u002F.local\u002Fshare\u002Fapplications\u002Fcode.desktop\n",[14,381,382],{},"正确结果应该是：",[42,384,386],{"className":222,"code":385,"language":224,"meta":48,"style":48},"Exec=\u002Fusr\u002Fbin\u002Fcode %F\nExec=\u002Fusr\u002Fbin\u002Fcode --new-window %F\n",[25,387,388,393],{"__ignoreMap":48},[75,389,390],{"class":77,"line":78},[75,391,392],{},"Exec=\u002Fusr\u002Fbin\u002Fcode %F\n",[75,394,395],{"class":77,"line":234},[75,396,397],{},"Exec=\u002Fusr\u002Fbin\u002Fcode --new-window %F\n",[55,399,401],{"id":400},"_5-刷新桌面应用缓存","5. 刷新桌面应用缓存",[14,403,404],{},"通用桌面数据库可以这样刷新：",[42,406,408],{"className":69,"code":407,"language":71,"meta":48,"style":48},"update-desktop-database ~\u002F.local\u002Fshare\u002Fapplications\n",[25,409,410],{"__ignoreMap":48},[75,411,412,415],{"class":77,"line":78},[75,413,414],{"class":81},"update-desktop-database",[75,416,296],{"class":84},[14,418,419],{},"如果使用KDE Plasma，再执行：",[42,421,423],{"className":69,"code":422,"language":71,"meta":48,"style":48},"kbuildsycoca6 --noincremental\n",[25,424,425],{"__ignoreMap":48},[75,426,427,430],{"class":77,"line":78},[75,428,429],{"class":81},"kbuildsycoca6",[75,431,432],{"class":110}," --noincremental\n",[14,434,435],{},"较旧的KDE版本可能使用：",[42,437,439],{"className":69,"code":438,"language":71,"meta":48,"style":48},"kbuildsycoca5 --noincremental\n",[25,440,441],{"__ignoreMap":48},[75,442,443,446],{"class":77,"line":78},[75,444,445],{"class":81},"kbuildsycoca5",[75,447,432],{"class":110},[10,449,450],{"id":450},"重新固定任务栏图标",[14,452,453],{},"即使desktop文件已经修改，KDE任务栏中原来固定的图标仍可能保留旧启动信息。因此还需要：",[455,456,457,460,463,466],"ol",{},[21,458,459],{},"从任务栏取消固定原来的VS Code图标；",[21,461,462],{},"在应用菜单中重新搜索“Visual Studio Code”；",[21,464,465],{},"从应用菜单启动一次并测试Codex插件；",[21,467,468],{},"确认正常后，再将新的图标固定到任务栏。",[14,470,471],{},"之后，从任务栏启动VS Code就会使用：",[42,473,476],{"className":474,"code":475,"language":47,"meta":48},[45],"\u002Fusr\u002Fbin\u002Fcode\n",[25,477,475],{"__ignoreMap":48},[14,479,480,481,483],{},"它与终端中的",[25,482,25],{},"命令走同一个启动入口。",[10,485,486],{"id":486},"恢复原始配置",[14,488,489],{},"如果修改后需要恢复，只需删除用户级覆盖文件并刷新缓存：",[42,491,493],{"className":69,"code":492,"language":71,"meta":48,"style":48},"rm ~\u002F.local\u002Fshare\u002Fapplications\u002Fcode.desktop\nupdate-desktop-database ~\u002F.local\u002Fshare\u002Fapplications\nkbuildsycoca6 --noincremental\n",[25,494,495,502,508],{"__ignoreMap":48},[75,496,497,500],{"class":77,"line":78},[75,498,499],{"class":81},"rm",[75,501,379],{"class":84},[75,503,504,506],{"class":77,"line":234},[75,505,414],{"class":81},[75,507,296],{"class":84},[75,509,510,512],{"class":77,"line":359},[75,511,429],{"class":81},[75,513,432],{"class":110},[14,515,516],{},"删除后，系统会重新使用：",[42,518,520],{"className":519,"code":271,"language":47,"meta":48},[45],[25,521,271],{"__ignoreMap":48},[10,523,524],{"id":524},"总结",[14,526,527],{},"这次问题的关键不在Codex插件本身，而在VS Code的启动入口不同：",[42,529,532],{"className":530,"code":531,"language":47,"meta":48},[45],"任务栏 → \u002Fusr\u002Fshare\u002Fcode\u002Fcode → 直接启动Electron主程序\n终端   → \u002Fusr\u002Fbin\u002Fcode        → 通过VS Code CLI启动\n",[25,533,531],{"__ignoreMap":48},[14,535,536,537,539],{},"将任务栏的desktop启动命令改为",[25,538,94],{},"后，两种启动方式保持一致，Codex插件也可以正常进入。",[541,542,543],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}",{"title":48,"searchDepth":234,"depth":234,"links":545},[546,547,551,552,559,560,561],{"id":12,"depth":234,"text":12},{"id":37,"depth":234,"text":37,"children":548},[549,550],{"id":57,"depth":359,"text":60},{"id":91,"depth":359,"text":94},{"id":164,"depth":234,"text":164},{"id":264,"depth":234,"text":264,"children":553},[554,555,556,557,558],{"id":279,"depth":359,"text":280},{"id":299,"depth":359,"text":300},{"id":324,"depth":359,"text":325},{"id":364,"depth":359,"text":365},{"id":400,"depth":359,"text":401},{"id":450,"depth":234,"text":450},{"id":486,"depth":234,"text":486},{"id":524,"depth":234,"text":524},"\u002Fzh-cn\u002Fblog\u002Fvscode-taskbar-codex-fix",null,"2026-07-21","解决Linux KDE任务栏直接启动VS Code时Codex插件无法打开，而从终端执行code命令可以正常使用的问题。","md","posts\u002F2026-07-21-VSCode任务栏启动Codex插件打不开",true,false,"\u002Fblog\u002Fvscode-taskbar-codex-fix","zh-CN","zh-cn",{},{"title":5,"description":565},"aoiVBSmEyqJWRyOfz-VYT0ffIOCzvOC2pXfxgVXhzkc",[563,577],{"path":578,"title":579,"date":580,"localeSlug":572,"i18nKey":581},"\u002Fzh-cn\u002Fblog\u002Fnewtodolist","新的todolist已经上线","2026-01-09","posts\u002F2026-02-09-新的todolist界面",{"variants":583},[584,587,590,593,596],{"path":585,"localeSlug":586,"i18nKey":567},"\u002Fen-us\u002Fblog\u002Fvscode-taskbar-codex-fix","en-us",{"path":588,"localeSlug":589,"i18nKey":567},"\u002Fzh-hant\u002Fblog\u002Fvscode-taskbar-codex-fix","zh-hant",{"path":591,"localeSlug":592,"i18nKey":567},"\u002Fzh-hk\u002Fblog\u002Fvscode-taskbar-codex-fix","zh-hk",{"path":594,"localeSlug":595,"i18nKey":567},"\u002Fzh-tw\u002Fblog\u002Fvscode-taskbar-codex-fix","zh-tw",{"path":562,"localeSlug":572,"i18nKey":567},[585,570,588,570,591,570,594,570,562,570],1784646738145]